.TITLE SLFAX_TBL - A command parser table .IDENT /X-1/ ;++ ; FACILITY: StarLet Fax gateway ; ; ; FUNCTIONAL DESCRIPTION: ; ; This module contains a parser table used by LIB$TPARSE routine to ; performs parameters parsing and extracting a selected number of fields. ; ; ENVIRONMENT: VMS, StarLetFAX ; ; AUTHOR: Ruslan R. Laishev, CREATION-DATE: 22-JAN-2004 ; ; MODIFIED BY: ; ; ;-- ; .PSECT IMPURE,WRT,NOEXE $TPADEF ;TParse stuff .LIBRARY /SLFAXDEF.MLB/ .EXTRN STORE_CMD .EXTRN STORE_ARG COMMA = 44 ; It's just "," .SBTTL Parser State Table SLFAXDEF $INIT_STATE UFD_STATE,UFD_KEY $STATE START $STATE KWDS $TRAN 'LOGIN' , STATE_LOGIN,STORE_CMD,,,SLF_CMD$K_LOGIN $TRAN 'LOGOUT', TPA$_EXIT,STORE_CMD,,,SLF_CMD$K_LOGOUT $TRAN 'STATUS', STATE_STATUS,STORE_CMD,,,SLF_CMD$K_STATUS $TRAN 'SEND', STATE_SEND,STORE_CMD,,,SLF_CMD$K_SEND $TRAN 'CAPABILITY', TPA$_EXIT,STORE_CMD,,,SLF_CMD$K_CAPABILITY $TRAN 'HELP', TPA$_EXIT,STORE_CMD,,,SLF_CMD$K_HELP $TRAN TPA$_ANY, TPA$_EXIT $TRAN TPA$_EOS, TPA$_EXIT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; STATUS [fax id] - Display a status of fax ; ; $STATE STATE_STATUS $STATE STATE_STATUS_ID $TRAN TPA$_STRING,TPA$_EXIT, STORE_ARG,,,SLF_ARG$K_ID $TRAN TPA$_EOS, TPA$_EXIT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; LOGIN user pass - Login and open a session ; ; $STATE STATE_LOGIN $STATE STATE_LOGIN_USER $TRAN TPA$_STRING,STATE_LOGIN_PASS, STORE_ARG,,,SLF_ARG$K_USER $STATE STATE_LOGIN_PASS $TRAN TPA$_STRING, TPA$_EXIT, STORE_ARG,,,SLF_ARG$K_PASS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; SEND - Send/submit a fax ; $STATE STATE_SEND $STATE STATE_SEND_PHONE $TRAN TPA$_STRING, STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_PHONE $STATE STATE_SEND_QUAL $TRAN '/' $TRAN TPA$_ANY, TPA$_EXIT $TRAN TPA$_EOS, TPA$_EXIT ; ; [/FORMAT=PS|HPPCL|G3|TIFF|TEXT] ; [/NOTIFY=(ERRORS,SUCCESS)] ; [/AFTER=EVENING|NIGHT|NOW|MORNING] ; $STATE STATE_SEND_OPTIONS $TRAN 'FORMAT', STATE_SEND_FORMAT $TRAN 'NOTIFY', STATE_SEND_NOTIFY $TRAN 'AFTER', STATE_SEND_AFTER ; [/FORMAT=PS|HPPCL|G3|TIFF|TEXT] $STATE STATE_SEND_FORMAT $TRAN '=' $STATE $TRAN 'PS', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_FORMAT_PS $TRAN 'HPPCL', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_FORMAT_HPPCL $TRAN 'G3', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_FORMAT_G3 $TRAN 'TIFF', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_FORMAT_TIFF $TRAN 'TEXT', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_FORMAT_TEXT ; [/NOTIFY=(ERRORS,SUCCESS)] $STATE STATE_SEND_NOTIFY $TRAN '=' $STATE STATE_SEND_NOTIFY1 $TRAN '(', STATE_SEND_NOTIFY1 $TRAN ')', STATE_SEND_NOTIFY1 $TRAN COMMA, STATE_SEND_NOTIFY1 $TRAN TPA$_EOS, TPA$_EXIT $TRAN 'ERRORS', STATE_SEND_NOTIFY1,STORE_ARG,,,SLF_ARG$K_NOTIFY_ERROR $TRAN 'SUCCESS', STATE_SEND_NOTIFY1,STORE_ARG,,,SLF_ARG$K_NOTIFY_SUCCESS ; [/AFTER=EVENING|NIGHT|NOW|MORNING] $STATE STATE_SEND_AFTER $TRAN '=' $STATE $TRAN 'EVENING', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_EVENING $TRAN 'NIGHT', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_NIGHT $TRAN 'NOW', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_NOW $TRAN 'MORNING', STATE_SEND_QUAL,STORE_ARG,,,SLF_ARG$K_MORNING $END_STATE .END