home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 3 Comm
/
03-Comm.zip
/
tt2man.zip
/
tthllapi.doc
< prev
next >
Wrap
Text File
|
1993-12-10
|
34KB
|
964 lines
TABLE OF CONTENTS
8. EHLLAPI Support
8.1 Standard EHLLAPI Support
8.1.1 Overview
8.1.2 Activating EHLLAPI For A Session
8.2 Guidelines For Usage
8.2.1 Overview
8.2.2 EHLLAPI Functions
8.2.3 TalkThru EHLLAPI Extensions
8.2.3.1 Connect and Disconnect Enhancements
8.2.3.2 Dialing and Hanging Up The Phone
8.2.3.3 Data Capture
8.2.3.4 Sending Control Sequences
8.2.3.5 Clearing The Local Screen
8.2.3.6 Sending TalkThru Assigned Keys
8.2.3.7 File Transfer Requests
8. EHLLAPI Support
8.1 Standard EHLLAPI Support
┌────────────────┐
│ 8.1.1 Overview │
└────────────────┘
The TalkThru EHLLAPI Interface is designed to provide compatibility with
the EHLLAPI calls supported by the Communications Manager. This feature
allows:
- any Proprietary Product which uses EHLLAPI for their communications
- any development language which supports calls to EHLLAPI (i.e. EASEL,
The Applications Manager)
- any compiled language (i.e. 'C', 'COBOL', 'PASCAL', etc.)
to access and control any host environment available through TalkThru.
For the TalkThru EHLLAPI calls supported, they are written exactly as if
you were communicating directly to the Communications Manager. The fact
that TalkThru is intercepting and processing these calls should be
transparent to your application. For more information on how EHLLAPI
support has been implemented and the limitations related to the different
protocols (i.e. TTY, VT100), refer to the section Guidelines For Usage
later in this chapter.
NOTE:
TalkThru determines the EHLLAPI calls directed to him by SESSION ID.
For more information on the Communications Manager Interface, refer
that Appendix.
TalkThru is not distributed with a reference document for EHLLAPI calls.
To use TalkThru EHLLAPI, merely refer to any document describing the IBM
Communications Manager EHLLAPI call structure.
┌────────────────────────────────────────┐
│ 8.1.2 Activating EHLLAPI For A Session │
└────────────────────────────────────────┘
In order for any EHLLAPI calls to work with a TalkThru session (including
the Communications Manager through TalkThru), a session with that
EHLLAPI Session Id must be started. This is true, not only for
applications you write in languages like EASEL, REXX, "C", etc., but also
for applications developed in AUTOPILOT.
In the case of the Communications Manager, this means that the
Communications Manager must have been loaded and the sessions started
prior to TalkThru initialization.
In the case of TalkThru, the Phone Book entries you wish to control must
be loaded from the Phone Book for EHLLAPI support. This requires two
things:
1. That you provided an EHLLAPI Session Id for the Phone Book Entry you
wish to control. If you did not assign an EHLLAPI Session Id when you
created the Phone Book Entry, you can do so by:
o invoking the Phone Book
o positioning the Selector Bar over the Phone Book Entry you wish to
control
o selecting Change from the Phone Book pull down menu
o specifying a Session Id in the dialog EHLLAPI Session Id
The EHLLAPI Session Id you specify must be a letter from "A" to "Z" and
must be unique to ALL other sessions (including 3270 session) that
might be active concurrently.
2. That the session is loaded for EHLLAPI Support. This could also have
been done when the Phone Book was created. If this was not, you may
accomplish this in one of two ways:
o When you select Add or Change from the Phone Book pull down menu
(available on any Phone Book window), you will see a Check Box
beginning Make session available for EHLLAPI ... . If you check this
box, EHLLAPI support for that Phone Book Entry will be loaded each
time the Phone Book is loaded.
o From any Phone Book Window, you can position the Selector Bar over a
Phone Book entry and select Setup for EHLLAPI from the Phone Book
pull down window. This will dynamically load EHLLAPI support for
this entry.
Notice that, in neither of these cases, does this mean that the Terminal
Emulator will be started, only that EHLLAPI support will be available.
The reverse, though, is not true. If you have loaded the Terminal
Emulator representing a Phone Book Entry and it has been assigned an
EHLLAPI Session Id, EHLLAPI support IS IMMEDIATELY available.
Once you feel you have loaded EHLLAPI support for the session you wish to
control, you may check this by requesting the Controller Panel from the
Utilities pull down menu on any Phone Book window. For more information
on the Controller Window, see The Controller Panel in the Chapter, The
Phone Book.
WARNING:
Once you have Created EHLLAPI support for a session, it can only be
stopped from the TalkThru Sessions Controller panel.
8.2 Guidelines For Usage
┌────────────────┐
│ 8.2.1 Overview │
└────────────────┘
Before identifying the differences between TalkThru EHLLAPI and the IBM
Standard, let's clarify some of the philosophy regarding the TalkThru
implementation.
First:
Regardless of protocol the terminal screen represents a Presentation
Space. For many emulation modes, this Presentation Space has little
value beyond a 24 X 80 buffer which may be examined for text content
only. In the simpler protocol implementations there are no field
delineations or attributes and therefore EHLLAPI functions are limited
due to lack of available information.
Second:
The less sophisticated protocols (i.e. TTY, VT100, etc.) do not provide
any mechanism by which a keyboard lock or input inhibited state may be
determined. The most viable implementation of an EHLLAPI application in
these situations is one that has been created by someone familiar with
the host systems who can textually identify when the full presentation
space is available and input may commence. This may sound very
restrictive but in fact very complex EHLLAPI front ends may be built
even for systems as straight forward as TTY Information Retrieval
Services or Bulletin Boards.
Having started with some of the shortcomings of EHLLAPI in the
asynchronous environment, let us now examine the various protocols
available in TalkThru and where some of those provide a feature rich
environment for the EHLLAPI programmer. Before proceeding, however, we
need to categorize the protocols into two types - Character Mode and
Block Mode.
Character Mode
Character Mode protocols are those where the host only sends enough
information to paint the screen, generally echoes every keystroke,
totally controls cursor positioning and in no way indicates where input
areas are until necessary. Examples of these protocols are TTY, VT52,
VT100, VT220, HP23xx in character mode, ANSI etc.. Another good example
of this category is the variety of protocol converters available to IBM
hosts, e.g. 3710, 7171, and various other vendor products.
Block Mode
Block Mode protocols are those which operate in a manner not unlike a
3270 terminal. The host in essence transmits a data stream that not
only contains the text to be displayed but also input field definitions
that include attribute, length and size. These protocols also perform
keyboard locking and unlocking as well as local cursor control. HP23xx
and TYMNETxx are examples of block emulation modes which are superbly
suited to the EHLLAPI environment. There is however the occasional
difference from a 3270 that can cause the EHLLAPI programmer to be more
alert in handling some situations. For example, the syndrome of
Keyboard Lock Flickering, where the input inhibited status in the
Operator Information Area of a 3270 turns on and off between screens, is
accentuated in the asynchronous environment especially at slower speeds.
Basically, any host application may be front-ended by an EHLLAPI program
with very little difficulty regardless of environment. An IBM host
system administrator may easily port a 3270 home office application to an
asynchronous protocol converter implementation to support the remotest of
the company's user community. TalkThru provides some facilities for
handling the asynchronous only functions such as dialing the phone,
sending control keystrokes, unloading the application etc.. The
following pages examine each call and indicate how it is supported.
┌─────────────────────────┐
│ 8.2.2 EHLLAPI Functions │
└─────────────────────────┘
CONNECT
Restrictions:
None
Enhancements:
Upon a Connect request, TalkThru will load and initialize the
terminal emulation session. The desired session must have been
selected to "Autoload On Startup" or have been manually loaded
using the "Setup For EHLLAPI" pulldown menu selection from the
phone book. TalkThru permits session letters A through Z.
DISCONNECT
Restrictions:
None
Enhancements:
So that a user's desktop and memory usage may be optimized,
TalkThru provides an extension that will remove the emulator when
no longer required. See TalkThru Extensions later in this document.
SEND KEY
Restrictions:
None
Enhancements:
The Send Key facility has been extended to permit EHLLAPI to pass
commands to TalkThru. These commands are documented in the
TalkThru Extensions later in this document.
WAIT:
Restrictions:
XCLOCK and XSYSTEM states are not supported in the character mode
protocols.
Enhancements:
None
COPY PRESENTATION SPACE:
Restrictions:
For character mode protocols very limited attribute information is
available and no "input field" data may be present. The block mode
protocols generally return full information but HP23xx has a
difference from the 3270 implementation.
HP23xx does not use a screen position for each field attribute
therefore TalkThru has to place attributes in actual screen text
positions according to the following algorithm:
If a protected field follows an unprotected field then the first
position of the protected field will be set as the attribute. If
an unprotected field follows a protected field then the last
position of the protected field will be set as the attribute of
the unprotected field. If two protected fields adjoin each other
the last byte of the first field will be used as the attribute of
the second. The only caveat occurs when two unprotected fields
abut in which case loss of an input position may be apparent in
this call, but will be correct in the individual field calls.
Enhancements:
None
QUERY CURSOR LOCATION
Restrictions:
None
Enhancements:
None
COPY PRESENTATION SPACE TO STRING
Restrictions:
See COPY PRESENTATION SPACE above.
Enhancements:
None
SET SESSION PARAMETERS
Restrictions:
Though all parameters are accepted as defined in the OS/2 EHLLAPI
manual, some have limited meaning depending on the emulation
protocol being used. Refer to individual EHLLAPI calls for
restrictions.
Enhancements:
None
QUERY SESSIONS
Restrictions:
None
Enhancements:
As TalkThru now permits session letters A through Z the number of
sessions returned may be greater than the maximum permitted by
OS/2 EHLLAPI. Therefore, the application may have to allocate
more memory to get an accurate response to this call.
RESERVE
Restrictions:
None
Enhancements:
None
RELEASE
Restrictions:
None
Enhancements:
None
COPY OIA
Restrictions:
The data contents of the OIA string will reflect the emulation
name. The only bit combinations supported are those which
indicate connect and keyboard lock states. All other 3270 style
bits are off.
Enhancements:
None
QUERY FIELD ATTRIBUTE
Restrictions:
The attribute data returned will depend on the protocol being
used. In most character mode situations limited information is
available. In block mode emulation, more accurate information is
returned as close as possible to the 3270 values.
Enhancements:
None
COPY STRING TO PRESENTATION SPACE
Restrictions:
This call acts like an equivalent SEND KEY call and should be
viewed accordingly. In most cases the results are identical except
where an attempt is made to modify a protected portion of the
screen. In this case, results are unpredictable.
Enhancements:
None
STORAGE MANAGER
Restrictions:
All calls to this function are passed on to the IBM EHLLAPI
facility and handled by it according to its own rules. If
Communications Manager is not available, calls to this function
will return a System Error code.
Enhancements:
None
PAUSE
Restrictions:
None
Enhancements:
None
QUERY SYSTEM
Restrictions:
All calls to this function are passed on to the IBM EHLLAPI
facility and handled by it according to its own rules. If
Communications Manager is not available, calls to this function
will return a System Error code.
Enhancements:
None
RESET SYSTEM
Restrictions:
This call is processed by TalkThru and then passed to
Communications Manager, if available.
Enhancements:
None
START HOST NOTIFICATION
Restrictions:
None
Enhancements:
None
QUERY HOST UPDATE
Restrictions:
None
Enhancements:
None
STOP HOST NOTIFICATION
Restrictions:
None
Enhancements:
None
SEARCH FIELD
Restrictions:
The field functions will be of most value, and fully functional,
when block mode emulation is active. In character mode the amount
of information available is generally limited and only relates to
the text currently displayed.
Enhancements:
None
FIND FIELD POSITION
Restrictions:
See SEARCH FIELD.
Enhancements:
None
FIND FIELD LENGTH
Restrictions:
See SEARCH FIELD.
Enhancements:
None
COPY FIELD TO STRING
Restrictions:
See SEARCH FIELD.
Enhancements:
None
COPY STRING TO FIELD
Restrictions:
See SEARCH FIELD.
Enhancements:
None
SET CURSOR
Restrictions:
None
Enhancements:
None
START CLOSE INTERCEPT
QUERY CLOSE INTERCEPT
STOP CLOSE INTERCEPT
START KEYSTROKE INTERCEPT
GET KEY
POST INTERCEPT STATUS
STOP KEYSTROKE INTERCEPT
Restrictions:
To be supported in a future release.
SEND FILE:
Restrictions:
Supported as of release 1.01 only.
Enhancements:
Access is provided to other transfer methods by modifying the
command text.
RECEIVE FILE:
Restrictions:
Supported as of release 1.01 only.
Enhancements:
Access is provided to other transfer methods by modifying the
command text.
CONVERT POSITION/CONVERT ROWCOL
Restrictions:
None
Enhancements:
None
CONNECT PM WINDOW SERVICES
Restrictions:
None
Enhancements:
None
DISCONNECT PM WINDOW SERVICES
Restrictions:
None
Enhancements:
None
QUERY PM WINDOW COORDINATES
Restrictions:
None
Enhancements:
None
PM WINDOW STATUS
Restrictions:
None
Enhancements:
None
CHANGE SWITCH LIST LT NAME
Restrictions:
None
Enhancements:
None
CHANGE PS WINDOW NAME
Restrictions:
None
Enhancements:
None
┌───────────────────────────────────┐
│ 8.2.3 TalkThru EHLLAPI Extensions │
└───────────────────────────────────┘
As IBM designed the EHLLAPI interface to suit synchronous block-mode
terminal devices, some features required, or at least useful, for
asynchronous terminals were not considered. TalkThru provides an
extension to the EHLLAPI interface to achieve greater functionality for
communications application programmers.
The extended functions are:
- Enhanced Connect/Disconnect capability
- Telephone dialing
- Data capture
- Sending control sequences
- Local screen clearing
- Sending TalkThru Assigned Keys
- File Transfer Request
Before examining each feature we must review the general principle under
which this facility has been implemented. So that EHLLAPI specific
products such as EASEL from EASEL Corp. may take advantage of the added
capability, TalkThru could not actually add new EHLLAPI commands but must
use the existing constructs. Therefore these features have been
implemented as commands, communicated to the controlling application
using the EHLLAPI SEND KEY (3) facility. If a series of keystrokes sent
to the session begin with "@@TALKTHRU" then the remaining characters are
interpreted as a TalkThru command. The @@ pair of characters represent
the standard EHLLAPI escape characters, certain special applications may
change the escape character to a different value, such as *, in which
case those applications should substitute ** for each @@ pair in this
document.
A sample C program code fragment to execute a TalkThru command would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 15;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU DIAL", &Size, &ReturnCode);
Program products such as EASEL detect whenever an application is sending
the EHLLAPI Escape Character (@) and double it automatically. As a result
the EASEL programmer must code in the following fashion:
copy "@TALKTHRU DIAL" to Keystrokes
action TypeString
In this scenario, TalkThru will actually receive "@@TALKTHRU DIAL" as
EASEL will automatically double the escape character.
All following examples will show both a C implementation and an EASEL
Action implementation.
┌─────────────────────────────────────────────┐
│ 8.2.3.1 Connect and Disconnect Enhancements │
└─────────────────────────────────────────────┘
┌────────────┐
│ Connecting │
└────────────┘
Under TalkThru's implementation of EHLLAPI, a session to be used need
not be already started so long as it has been loaded for use by
EHLLAPI at some prior time. There are two ways that this can happen.
Each Phone Book item may be marked for "Autoload at Startup" which
will place the potential communications session in the Query Sessions
list. This enables EHLLAPI applications to know that such a session
exists but conserves system resources by not actually having the
terminal emulator active.
When such sessions have been defined and an EHLLAPI application
attempts to connect to one, TalkThru will then automatically start
the terminal emulator for that connection. This emulation session
will then remain in the system until the user closes it or the
EHLLAPI application uses the disconnect extension described below.
The method is useful for casual applications such as accessing a
stock market, news or other outside data service. Having to load
emulation sessions for less frequently accessed services might
severely constrain the OS/2 environment.
TalkThru's EHLLAPI extension provides for up to 26 loaded sessions,
3270 and 5250 sessions inclusive. Programmers must be aware that
loading many sessions will increase the memory required to receive a
full reply from the Query Sessions EHLLAPI command.
┌───────────────┐
│ Disconnecting │
└───────────────┘
EHLLAPI applications may disconnect from any connected session as
desired, but in order to conserve system resources, casual
applications may wish to unload the terminal emulation sessions when
the job has been completed.
To facilitate this requirement, the SET_UNLOAD_ON_DISC command has
been implemented. This command has no parameters.
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 29;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU SET_UNLOAD_ON_DISC",
&Size, &ReturnCode);
ClimFunction = PCB_DISCONNECT;
hllapi(&ClimFunction, NULL, NULL, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU DIAL" to Keystrokes
action TypeString
action Disconnect
┌──────────────────────────────────────────┐
│ 8.2.3.2 Dialing and Hanging Up The Phone │
└──────────────────────────────────────────┘
┌─────────┐
│ Dialing │
└─────────┘
As EHLLAPI has no knowledge of telephones, TalkThru had to add an
extension to permit applications to dynamically connect the
asynchronous session's telephone call. This has been implemented as
the DIAL command.
The DIAL command has the following format:
┌──────────────────────────────────────────────────────────────────────┐
│ DIAL [phone number]; │
└──────────────────────────────────────────────────────────────────────┘
The optional phone number parameter overrides the number stored in
the session definition under the Connections Setting. This is useful
for sessions that have alternative numbers in case the original is
busy. An EHLLAPI application can detect one busy or unanswering
number and then attempt to connect to another.
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 11;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU DIAL",
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU DIAL 555 1211" to Keystrokes
action TypeString
┌────────────┐
│ Hanging Up │
└────────────┘
When an application has completed on a connection but wants to keep
the terminal emulator available though not keep the phone connection,
the TalkThru HANGUP extension command will perform the operation.
This command has no parameters.
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 13;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU HANGUP",
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU HANGUP" to Keystrokes
action TypeString
┌──────────────────────┐
│ 8.2.3.3 Data Capture │
└──────────────────────┘
┌───────────────────────┐
│ Starting Data Capture │
└───────────────────────┘
Data capture is often the only programmatic method to record all data
on a stream oriented device such as an asynchronous terminal,
particularly using a block oriented facility such as EHLLAPI.
TalkThru provides a START_CAPTURE command to permit applications to
record streamlike data.
The format of this command is:
┌──────────────────────────────────────────────────────────────────────┐
│ START_CAPTURE filespec [ {APPEND } ] [ {ALL } ] │
│ [ {OVERWRITE ) ] [ {TEXT } ] │
│ [ {SCREEN} ] │
└──────────────────────────────────────────────────────────────────────┘
The "filespec" parameter should contain a fully qualified filename
where the TalkThru capture facility should store the data.
The mutually exclusive keywords APPEND and OVERWRITE indicate the
disposition of a preexisting file as defined in "filespec".
The mutually exclusive keywords ALL, TEXT and SCREEN indicate the
type of data to be captured. These types are defined in the Terminal
Emulator reference material.
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 39;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU START_CAPTURE C:\\CAPTURE.DAT"
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU START_CAPTURE C:\CAPTURE.DAT
OVERWRITE TEXT" to Keystrokes
action TypeString
┌──────────────────┐
│ Stopping Capture │
└──────────────────┘
To turn off a previously started capture session, TalkThru provides
the STOP_CAPTURE command. This command has no parameters
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 23;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU STOP_CAPTURE",
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU STOP_CAPTURE" to Keystrokes
action TypeString
┌───────────────────────────────────┐
│ 8.2.3.4 Sending Control Sequences │
└───────────────────────────────────┘
Certain data services such as CompuServ require at the user type a
control key to initial a session, in this case a Control C. EHLLAPI
regards such keystrokes as invalid and some applications, such as EASEL
edit out such data. To circumvent such action, TalkThru provides the
SENDCTRL command.
The format of this command is:
┌──────────────────────────────────────────────────────────────────────┐
│ SENDCTRL keyletter │
└──────────────────────────────────────────────────────────────────────┘
The required parameter "keyletters" represent the key code to be sent,
A, B, C, etc. All 26 control keys are supported.
A C example of this would be:
USHORT ClimFunction = PCB_END_KEY;
USHORT Size = 21;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU SENDCTRL C",
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU SENDCTRL C" to Keystrokes
action TypeString
┌───────────────────────────────────┐
│ 8.2.3.5 Clearing The Local Screen │
└───────────────────────────────────┘
Certain line mode services such as stock quotations return only 3 or 4
lines of data for each request. So that a programmed application may
more easily diagnose the screen contents of each request, TalkThru
provides the CLEAR_BUFFER extension command. This command has no
parameters.
This command wipes the local screen buffer clean and homes the cursor
to screen position 1,1. Now the presentation space is free of any
clutter that would otherwise remained from a prior request.
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 23;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU CLEAR_BUFFER",
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU CLEAR_BUFFER" to Keystrokes
action TypeString
┌────────────────────────────────────────┐
│ 8.2.3.6 Sending TalkThru Assigned Keys │
└────────────────────────────────────────┘
If you wish to send a key using the name assigned through the TalkThru
Keyboard Mapping, you may do so with the TalkThru SENDKEY extension.
The only parameter passed to this command is the name of the key
assigned. These key names are the same as you would use when referring
to these keys in AUTOPILOT.
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 31;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU SENDKEY KEYPAD_ENTER",
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU SENDKEY KEYPAD_ENTER" to Keystrokes
action TypeString
┌────────────────────────────────┐
│ 8.2.3.7 File Transfer Requests │
└────────────────────────────────┘
┌────────────────────────┐
│ Invoking File Transfer │
└────────────────────────┘
TalkThru allows you to invoke any of the File Transfer types
supported by it through the FILE_TRANSFER extension. The file
transfer runs asynchronously to your processing (see Obtaining File
Transfer Status next). The following parameters are passed to this
request:
<file-transfer-type>
this is a keyword indicating the type of file transfer to be run.
This can be:
XMODEM = Use XMODEM CRC protocol
XMODEM_CRC = Use XMODEM CRC protocol
XMODEM_CHECKSUM = Use XMODEM CHECKSUM protocol
YMODEM = Use YMODEM protocol (XMODEM 1K)
YMODEM_G = Use YMODEM G protocol (XMODEM 1K G)
YMODEM_BATCH = Use YMODEM BATCH protocol
YMODEM_BATCH_G = Use YMODEM BATCH G protocol
KERMIT = Use KERMIT SEND/RECEIVE protocol
IND$FILE = Use IBM IND$FILE (SEND/RECEIVE) protocol
<file-transfer-command>
indicates which file(s) are to be transferred. The format is the
same as would be provided for the specific file transfer.
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 40;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU FILE_TRANSFER XMODEM test.dat" ,
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU FILE_TRANSFER XMODEM test.dat" to Keystrokes
action TypeString
┌────────────────────────────────┐
│ Obtaining File Transfer Status │
└────────────────────────────────┘
TalkThru allows you to obtain the status of the File Transfer invoked
through the FILE_TRANSFER extension with the FILE_TRANSFER_STATUS
extension. FILE_TRANSFER_STATUS returns one of the following return
codes:
0 - Successful completion
1 - Not connected
2 - The file could not be opened.
3 - Syntax error within <file-transfer-command> or
<file-transfer-type>
4 - File transfer failed
5 - File transfer was canceled
10 - File transfer is running
11 - File transfer waiting to start
A C example of this would be:
USHORT ClimFunction = PCB_SEND_KEY;
USHORT Size = 31;
USHORT ReturnCode = 0;
hllapi(&ClimFunction, "@@TALKTHRU FILE_TRANSFER_STATUS",
&Size, &ReturnCode);
An EASEL Action sample would be:
copy "@TALKTHRU FILE_TRANSFER_STATUS" to Keystrokes
action TypeString