UaTk Internal Function and Description
_get_input
This is a front-end function to the _check_input( ) function. Each call to _get_input will
attempt to call _check_input( ) up to five times. Each call to _check_input is made using
the variable $max_timeout, indicating the number of seconds to wait on input. The
time-out period can be set using the SetIOTimeout method.
_send_acknowledgment
This function sends an ACK string back to the connection manager.
_receive_acknowledgment
This function waits for an ACK string from the connection manager.
_dump_hash
This is an internal debug utility function. It dumps a list of key/value pairs from a hash.
_set_dist_mode
This function sets the internal variable $dist_mode based on the integer arguments
provided.
_process_command
This function is used by the UaTkMain method to process a command when detected.
Invocation of the command will depend on the type of command. The hash tk_command is
used to maintain a list of all protocol commands. The hash is defined as
command/terminator tag for each key/value pair, respectively. The value of the
terminator tag defines how the command is invoked and where its data is stored.
The commands STARTUP and SHUTDOWN are one-line commands. No data is
associated with them, so their terminator tags are . The commands USERNAME and
PASSWORD require a single line of data, so their tag is _SLD_ . The
START_DISCOVER command does not require data or an ACK sent to the connection
manager. Its tag is _NOA_. All other commands use the tag _EOD_ . The _EOD_ tag
also is used in the data stream from the connection manager to indicate end-of-data. Other
tags are only used internally in the tk_command hash. One-line and double-line commands
(that is, those with tags that are not _EOD_ ) are invoked immediately by the
_process_command function. Multi-line commands (that is, those with an _EOD_ tag)
are invoked after detection of the _EOD_ command in the data stream from the command
processor. This should occur only after all attributes for the command have been found.
Developing Your Application in Perl
71
Tivoli® SecureWay Application Management Toolkit Guide