| Table of Contents | Intro | Quickstart | Phonebook | DP Viewer | Cmd. Line Ref. | Transferring Files BLAST Protocol | Xmodem | FTP | BLASTscript Topics | Connecting/Disconnecting Command Ref. | Reserved Variables | Autopoll | Error Messages | ASCII Char. Set |
BLASTscript supports two kinds of variables, user-defined variables and reserved variables. Reserved variables are an important part of any program that tests the condition of the communications session or the results of other program statements.
Reserved variables are classified by
access privilege. Most reserved variables are read/write, meaning that a
script can both read the value of the variable and write a new value for
it through a SET or
LET statement. Other
reserved variables are read-only. An attempt by a script to write a new value
for a read-only variable will result in a syntax error. Finally, a few reserved
variables are write-only. An attempt to read the value of a write-only variable
will be ignored by the script interpreter.
While it is possible for a script to
set the value of many reserved variables, the new setting may not be invoked
immediately. In particular, changes to communications port parameters, such
as @BAUDRATE,
are ignored until an offline-online transition occurs.
If it is necessary for a script to change
the setting of any communications port parameter, the changes should be bracketed
with explicit
OFFLINE and
ONLINE commands:
OFFLINE |
NOTE: several new reserved variables have been introduced under Data Pump. Also, some reserved variables from previous versions of BLAST could not be implemented under Data Pump because they apply to features that are not supported, such as keyboard files, the Kermit file transfer protocol, and DOS background operation. See Reserved Variable Comparison Chart for a comparison of the reserved variables supported by Data Pump and those supported by other versions of BLAST.
Reserved Variables Quick Reference
The following list offers a quick reference to the reserved variables supported by Data Pump.
| @7BITCHN | read/write YES [NO] |
For BLAST protocol transfers, specifies the data path width.
BLAST Protocol Settings: 7-Bit Channel
| @ACKFREQ | read/write 1 - window size [4] |
For BLAST protocol transfers, specifies the frequency of acknowledgments by the remote system.
BLAST Protocol Settings: ACK Request Freq
| @ARGn | read-only user-defined |
| @BAUDRATE | read/write 110 300 600 1200 2400 4800 [9600] 19.2K 38.4K 57.6K 115.2K |
Communications Settings: Baud Rate
| @BLASTDIR | read-only |
Specifies the directory path for BLAST executable files and support files.
| @BPRINTER | read-only |
Contains the name of the current default printer; not directly
accessible for writing. If more than one printer is available, changes can
be made to @BPRINTER with
SETPRINTER command.
| @CLASS | read-only |
Stores the BLAST class number of the local system.
| @COMMOPEN | read-only 1 or 0 |
Indicates whether Data Pump successfully has executed an
ONLINE command. Value
is "1" when Data Pump is online; otherwise it is "0."
| @COMMPORT | read/write any valid commport |
Specifies the serial communications port for the current
session, e.g. COM1:.
Communications Settings: Connection
| @COMP_LVL | read/write 0 - 6 [4] |
Specifies the maximum sending and receiving compression
levels that can be used. Level "0" specifies no compression. Level
"6" is the highest level of compression. Setting this variable is effectively
equal to setting both the
@RCOMP_LEV and
@SCOMP_LEV reserved
variables.
| @CONNTIMO | read/write 0 - 999 [60] |
Specifies the number of seconds BLAST will wait for a modem connection.
Communications Settings: Connection Timeout
| @DATAPUMPREPLY | read-only |
Holds the response to the last Data Pump message; used in
conjunction with the
DATAPUMP command.
| @DATE | read-only |
Contains the current date in mm/dd/yy format. The date format
is controlled by
@DATEFORMAT.
| @DATEFORMAT | read/write formatting string |
Holds a formatting string for
@DATE. Setting
@DATEFORMAT to "" (the empty string) resets it to the format
"%m/%d/%y." To obtain a four-digit year, the formatting code %Y may be used
(i.e., %m/%d/%Y).
| @DCD | read-only |
| @DCDLOSS | read/write ABORT [IGNORE] |
For BLAST protocol transfers, specifies whether BLAST will ABORT after
or IGNORE DCD loss. This feature requires appropriate modem initialization
and cable configuration. See
@DCD above.
BLAST Protocol Settings: DCD Loss Response
| @DS_BITS | read/write 7/1 7/2 [8/1] 8/2 |
Specifies Data and Stop bits. Under
Xmodem, the value of
@DS_BITS should be set to the default, "8/1."
Communications Settings: Data Bits/Stop Bits
| @DTR | write-only 0 or 1 |
Sets the condition of the data terminal ready signal--"0"
for drop, "1" for raise. Writing to @DTR is equivalent to
OFFLINE (for
@DTR = 0) and
ONLINE
(@DTR = 1) commands.
| @EFERROR | read/write [0] - 9 |
@EFERROR should be reset
to "0" for continued testing during a session.
Because the
BLAST protocol queues file
transfer requests and then continues execution until
ESC is encountered,
testing @EFERROR within a
FILETRANSFER-ESC block may not produce expected
results.
Following completion of a file transfer,
@EFERROR will be set to one of the following values reflecting
the way in which file transfer was exited:
0--No errors
-1--Initialization error
-2--Local operator ended activity with ABORT
-3--Remote disconnect
-4--Never got starting message (Logon Timeout)
-5--Lost communications with remote system (Inactivity Timeout)
-6--Private network error; private network version of BLAST required
-7--DCD loss during file transfer logon
-8--DCD loss during file transfer session
-9--File transfer session not established
Not all values are available or appropriate with all protocols. For example, code -6 is specific to the BLAST protocol only.
connect display "Error number = ", @EFERROR,
"occurred" display "See Error Messages for
details." SET @EFERROR = "0" |
| @EFLOG | read/write filename |
| @ELAPTIME | read-only |
Contains the current elapsed online time for a BLAST
communications session. The value is in hh:mm:ss format. This variable
can be reset within a BLAST script by any
SET statement, for
example:
set @ELAPTIME = "it doesn't matter" |
| @ENABLEFS | read/write YES [NO] |
For BLAST protocol transfers, enables the Forward and Store file transfer options that automatically delete files.
BLAST Protocol Settings: Enable FWD and STR
| @ENABLERCMD | read/write [YES] NO |
For BLAST protocol transfers, enables the Overwrite file transfer option and allows commands to be sent from the remote system.
BLAST Protocol Settings: Allow OVW and Remote Cmds
| @ENTRY | read-only |
Stores the name of current phonebook listing.
| @FILECNT | read-only |
Returns the size of the file after a successful
FOPENx command or the number of bytes read by
FREAD and
FREADB.
| @FTPCONV | read/write [BINARY] ASCII |
| @FULLSCR | read/write [YES] NO |
| @INACTIMO | read/write 0 - 999 [120] |
BLAST Protocol Settings: Inactivity Timeout
| @LAUNCHST | read/write any ASCII string [\r] |
For BLAST protocol transfers, specifies the launch string to be appended to BLAST protocol blocks. Any ASCII string may be used, with control characters represented by a backslash followed by a three-digit octal number. The default is a carriage return (\r). This variable may be necessary for protocol converter connections. For a list of ASCII characters, see ASCII Character Set.
BLAST Protocol Settings: Launch String
| @LISTDELIM | read/write user-defined |
| @LOCALDIR | read/write user-defined |
Specifies the local working directory. For a description
of scripting shortcuts that can be used with @LOCALDIR, see
Phonebook Field and Scripting
Shortcuts.
| @LOGDATEFORMAT | read/write filename |
| @LOGFILE | read/write filename |
Stores the name of the log file that will record all
communications session activity. Setting @LOGFILE = "" closes
the current log file. For a description of scripting shortcuts that can be
used with @LOGFILE, see
Phonebook Field and Scripting
Shortcuts.
General Properties Page: Log File
| @LOGTIMO | read/write 0 - 999 [120] |
For BLAST protocol transfers, specifies the number of seconds that BLAST will attempt to establish a session with the remote computer before aborting. Logon Timeout affects BLAST protocol file transfers. If zero is entered, no timeout will occur and BLAST will attempt to establish a BLAST filetransfer session with the remote computer indefinitely.
BLAST Protocol Settings: Logon Timeout
| @MODEM | read/write any valid modem type |
General Properties Page: Modem Type
| @NETPORT | read/write user-defined |
Specifies the network port number to use. The default port number for Telnet connections is "23."
Network Parameters: Port Number
| @NETPROTOCOL | read/write TELNET [SOCKET] FTP SERIAL |
Specifies the protocol to use for network connections.
| @NETSERVICE | read/write any valid network destination |
Offline |
| @NUMDISC | read/write 0 - 9 [3] |
BLAST Protocol Settings: Disconnect Blocks
| @ONERROR | read/write [STOP] CONTINUE |
When @ONERROR is set to "STOP,"
BLAST will pause when an error is encountered, display the appropriate message,
and wait for the user to press a key before continuing. When
@ONERROR is set to "CONTINUE," BLAST will display the same message,
pause for one second, then automatically continue program execution.
| @ORGANS | read/write [ORIGINATE] ANSWER |
Specifies how the
CONNECT command will
operate. If set to "ANSWER,"
CONNECT will wait for
a remote computer to establish the communications link. If set to "ORIGINATE,"
CONNECT will try to
dial a number.
Communications Settings: Wait for Call
| @PAKTSZ | read/write 1 - 4085 [256] |
For BLAST protocol, specifies the size of the packet used for file transfers.
BLAST Protocol Settings: Block Size
| @PARITY | read/write [NONE] ODD EVEN |
Specifies the parity to be used in serial communications
sessions. Under Xmodem, the value of
@PARITY should be set to the default, "NONE."
Communications Settings: Parity
| @PASSWORD | write-only user-defined |
Stores the user's password for the remote computer. The
Systems.scr library program uses @PASSWORD to answer prompts
from a multi-user computer. The
CONNECT program will
prompt the user to enter a password if none is specified in the phonebook
listing or if @PASSWORD is null. Thereafter, the variable
@PASSWORD contains the value entered by the user. For security,
the value of @PASSWORD cannot be displayed to the screen. This
feature applies to all string values that match @PASSWORD. Thus,
script commands like
set @trick = @PASSWORD |
will not display the value of the password.
BLAST makes an effort to encode and keep
stored passwords secure. Unfortunately, it is a very simple task to echo
a stored password off of either a modem or a remote system that has echo
enabled. A script as simple as "tsend @PASSWORD" can compromise
stored passwords. If the security of a password is vital, BLAST recommends
not storing it in the phonebook listing. If a password must be stored in
the phonebook listing, you should take other measures to keep the phonebook
listing secure.
General Properties Page: Password
| @PHONEBOOK | read-only |
Stores the name of the phonebook that was most recently loaded.
| @PHONENO | read/write user-defined |
Stores the phone number of the remote computer. The
CONNECT statement uses
this number to dial out.
Communications Settings: Phone Number
| @PROMPTCH | read/write [NONE] any ASCII character |
| @PROTOCOL | read/write [BLAST] XMODEM XMODEM1K FTP |
Specifies the protocol for a communications session.
Protocols Properties Page: Protocol List
| @RBYTES | read-only |
In the BLAST Extended Log, holds the number of bytes received in the current transfer.
| @RCLASS | read-only |
Stores the BLAST class number of the remote system. This is valid during and after file transfer.
| @RCOMP_LEV | read/write 0 - 6 [4] |
BLAST Protocol Settings: Compression Level Receive
| @REMOTEDIR | read/write any valid directory |
| @RETRAN | read/write 0 - 9999 [4] |
For BLAST protocol transfers, specifies the maximum number of seconds BLAST
will pause before resending a packet. For example, if
@WDWSIZ is set
to "5" and @RETRAN is set to "30," BLAST will attempt to resend
the fifth packet every thirty seconds if no acknowledgment is received.
BLAST Protocol Settings: Retransmit Timer
| @RFAILURE | read-only |
Stores the number of files unsuccessfully received during a file transfer session.
| @RLINEQ | read-only GOOD FAIR POOR DEAD |
For BLAST protocol transfers, stores the current receiving line quality.
| @RNAME | read-only |
In the BLAST Extended Log, holds the name of the file being received.
| @RRET | read-only |
In the BLAST Extended Log, holds the number of retries in the current transfer.
| @RSERIAL | read-only |
Stores the serial number of the BLAST version running on the remote system.
| @RSITE | read-only |
Stores the BLAST site number of the remote system. This is valid during and after file transfer.
| @RSIZE | read-only |
In the BLAST Extended Log, holds the size of the file received.
| @RSTATUS | read-only |
In the BLAST Extended Log, holds the completion status of files received. Possible values are:
RCOM--Receive completed.
LERROR--Receive not completed due to local error.
RERROR--Receive not completed due to remote error.
RINTR--Receive not completed due to operator interruption.
| @RSUCCESS | read-only |
Stores the number of files successfully received during a file transfer session.
| @RTIME | read-only |
In the BLAST Extended Log, holds the elapsed time of the current transfer.
| @RTSCTS | read/write [YES] NO |
Specifies whether hardware flow control is enabled. Not all computers support RTS/CTS flow control.
Communications Settings: RTS/CTS
| @SBYTES | read-only |
| @SCOMP_LEV | read/write 0 - 6 [4] |
BLAST Protocol Settings: Compression Level Send
| @SCRFILE | read/write filename |
Specifies the name of a BLAST script that will start immediately after BLAST begins execution.
General Properties Page: Script File
| @SCRIPTDIR | read-only filename |
Is a subdirectory of the BLAST "Factory" directory. For the case where BLASTDIR is C:\DP\:
C:\DP\
@BLASTDIR Blast\
the "Factory" directory Scripts\
@SCRIPTDIR
Modems\
Systems\
Autopoll\ Userscripts\
for user scripts |
@SCRIPTDIR is searched
by CONNECT,
DISCONNECT, and
FILETRANSFER for system
scripts (i.e., Modems.scr). Users should store their own scripts in Userscript\
rather than Scripts\ because Userscripts\ is searched by
CALL and
CALLSUB before
@SCRIPTDIR is searched.
| @SCRIPTERR | read-only |
Returns the numeric value of the last error that occurred in the BLAST script.
| @SCRLREG | read/write [ON] OFF |
Controls data display in the scrolling region (lines 5-24).
If set to "ON," characters received in terminal mode will be displayed and
BLAST scripts can use the
DISPLAY statement.
.
NOTE: If @SCRLREG is set to "ON," it returns the value "1"; if it is set to "OFF," it returns the value "0".
| @SERIAL | read-only |
Stores the serial number of the BLAST version running on the local system.
| @SESSIONID | read-only |
Is unique identifier for the current BLAST session.
| @SETUPDIR | read-only |
Specifies the directory path where BLAST phonebooks are stored.
| @SFAILURE | read-only |
Stores the number of files unsuccessfully sent during a file transfer session.
| @SITE | read-only |
Stores the BLAST site number of the local system.
| @SLINEQ | read-only GOOD FAIR POOR DEAD |
| @SNAME | read-only |
In the BLAST Extended Log, holds the name of the file being sent.
| @SRET | read-only |
In the BLAST Extended Log, holds the number of retries in the current transfer.
| @SSIZE | read-only |
In the BLAST Extended Log, holds the size of the file sent.
| @SSTATUS | read-only |
In the BLAST Extended Log, holds the completion status of file sent. Possible values are:
SCOMP--Send completed.
LERROR--Send not completed due to local error.
RERROR--Send not completed due to remote error.
SINTR--Send not completed due to operator interruption.
| @SSUCESS | read-only |
Stores the number of files successfully sent during a file transfer session.
| @STATUS | read/write command-specific |
Returns a condition code set by the last statement that reported a completion status.
Most statements that succeed set @STATUS to "0" and return a nonzero
value for an error. For example, the
FILETRANSFER
command sets @STATUS to "0" if Filetransfer mode was successfully entered.
Checking @STATUS at the end of a
FILETRANSFER block, however,
does not reflect the success of an entire
FILETRANSFER
block, but rather the @STATUS setting of the last command in the block
capable of setting @STATUS. (To check the overall success of a
FILETRANSFER
block, use the reserved variable
@EFERROR).
Some commands that return numeric results (e.g.,
STRINX,
TTRAP) set
@STATUS to "0" to indicate a null condition.
When Data Pump returns from a
CALLed script,
@STATUS is set to the numeric constant given as the argument
in the RETURN
statement or to "0" if no numeric constant has been given.
For a list of the commands that set
@STATUS, see
The Status of @STATUS.
| @STIME | read-only |
In the BLAST Extended Log, holds the elapsed time of the current transfer.
| @SYSTYPE | read/write any valid system type |
General Properties Page: System Type
| @TIME | read-only |
Contains the current time in hh:mm:ss format. The
format is controlled by
@TIMEFORMAT.
| @TIMEFORMAT | read/write formatting string |
Holds a formatting string for
@TIME. Setting
@TIMEFORMAT to "" (the empty string) resets it to the format
"%H:%M:%S."
| @TRANSPORT | read/write SOCKET or SERIAL |
Identifies the raw port used for the connection.
Transport Properties Page: Transport Method
| @TRPASSWD | read/write up to 8 characters |
For BLAST protocol, specifies a case-sensitive password (up to 8 characters) that a remote user must send before a file transfer is allowed. If this variable is set to other than null, then the remote computer must send the password before a file can be transferred to or from your computer.
NOTE: @TRPASSWD is intended to validate remote users
logging onto your system. If Data Pump running on your system executes a script that
sets @TRPASSWD to something other than a null, you will not be able to
receive files without the remote computer sending the password.
BLAST Protocol Settings: Transfer Password
| @TTRAPTO | read/write [0] 7200 |
Specifies the length of time for
TTRAP to wait. This
value is ignored if the value is given explicitly in a
TTRAP statement.
| @UPLOADEOL | read/write any string [\r] |
Contains a string to be appended to each line of a text
file transmitted to the remote system by the
TUPLOAD command.
| @USERID | read/write user-defined |
General Properties Page: Login Account
| @USERIF | read/write [ON] OFF |
NOTE: If @USERIF is set to "ON," it returns the value "1"; if it is set to "OFF," it returns the value "0".
| @VERSION | read-only |
Identifies the release version of the script interpreter.
| @WDWSIZ | read/write 1-16 [16] |
BLAST Protocol Settings: Window Size
| @XFERTRACE | read/write |
Maps to the file in the Transfer Trace field of the Settings
dialog of the selected protocol. For a description of scripting shortcuts
that can be used with @XFERTRACE, see
Phonebook Field and Scripting
Shortcuts.
| @XLOG | read/write ON [OFF] |
Specifies use of Extended Logging, which provides detailed information about file transfers.
General Properties Page: Enable Extended Logging
| @XMEOTCHALLENGE | read/write YES [NO] |
For Xmodem, specifies whether to challenge EOT with a NAK and wait for a response.
Xmodem Protocol Settings: EOT Challenge
| @XMEOTINTERVAL | read/write [1] - 10 |
For Xmodem, specifies how long to wait for EOT response or, if sending a file, the interval between EOT characters.
Xmodem Protocol Settings: EOT Timeout
| @XMEOTRETRIES | read/write 1 - 10 [5] |
For Xmodem, specifies number of times to repeat an EOT packet.
Xmodem Protocol Settings: EOT Retries
| @XMPACKETTO | read/write 1 - 10 [4] |
For Xmodem, specifies maximum time to wait between sending of a packet and acknowledgement of a packet.
Xmodem Protocol Settings: Inter-Packet Timeout
| @XMPADCHAR | read/write 0 - 255 [26] |
For Xmodem, specifies end-of-packet character.
Xmodem Protocol Settings:
Pad Character
| @XMRETRIES | read/write 2 - 50 [10] |
For Xmodem, specifies number of times to try to resend a packet.
Xmodem Protocol Settings: Retries
| @XMTIMEOUT | read/write 1 - 5000 [60] |
For Xmodem, specifies the number of seconds to wait before starting the protocol. Adjust this parameter if Xmodem in Data Pump and Xmodem on the remote system are having difficulty initializing.
Xmodem Protocol Settings: Timeout
| @XONXOFF | read/write YES [NO] |
Specifies whether software flow control is enabled.
This variable should not be used with
Xmodem.
Communications Settings:
XON/XOFF
The following reserved variables are unique to Data Pump.
Reserved Variable Comparison Chart
@BPRINTER--Identifies
currently selected
printer.
@COMMOPEN--Indicates
online/offline status.
@DATAPUMPREPLY--Holds
response from last
DATAPUMP
command.
@FTPCONV--Specifies
whether to do text translation for FTP transfers.
@LISTDELIM--Specifies
character used to delimit items in lists.
@LOCALDIR--Specifies
local working directory.
@NETPORT--Specifies
network port number.
@NETPROTOCOL--Specifies
protocol to use with network connections.
@REMOTEDIR--Specifies
remote directory.
@SCRIPTDIR--Is
pathname of Scripts\ directory.
@SESSIONID--Is
unique identifier for a session.
@TRANSPORT--Identifies
raw port (serial or socket).
@TTRAPTO--Specifies
time a TTRAP waits
when no explicit value is given.
@UPLOADEOL--Specifies
the end-of-line upload string.
@XMEOTCHALLENGE--Specifies
whether to challenge 1st EOT with NAK for Xmodem.
@XMEOTINTERVAL--Specifies
EOT timeout interval for Xmodem.
@XMEOTRETRIES--Specifies
number of times to transmit an EOT packet for Xmodem.
@XMPACKETTO--Specifies
time to wait between packet send and ACK for Xmodem.
@XMPADCHAR--Specifies
end-of-packet pad character for Xmodem.
@XMRETRIES--Specifies
number of times to try to send a NAK'd packet for Xmodem.
@XMTIMEOUT--Specifies
time to allow for beginning Xmodem.
| Table of Contents | Intro | Quickstart | Phonebook | DP Viewer | Cmd. Line Ref. | Transferring Files BLAST Protocol | Xmodem | FTP | BLASTscript Topics | Connecting/Disconnecting Command Ref. | Reserved Variables | Autopoll | Error Messages | ASCII Char. Set |