home *** CD-ROM | disk | FTP | other *** search
- // $Header: D:/SOURCE/PLINE/PROTOCOL/VCS/PROTOCOL.SRV 1.0 30 Nov 1990 16:51:28 TGS $
- //=============================================================================
- //
- // PereLine Modem Communications Source
- // Copyright (c) 1985,1986,1987,1988,1989,1990 PereLine Data Systems, Inc.
- // All Rights Reserved.
- //
- // THIS IS A PROPRIETARY WORK COVERED IN TOTAL BY THE COPYRIGHT LAWS OF
- // THE UNITED STATES OF AMERICA. IT MAY NOT BE COPIED IN PART OR IN WHOLE
- // BY ANYONE WITHOUT THE EXPLICIT WRITTEN PERMISSION FROM PERELINE DATA
- // SYSTEMS, INC.
- //
- //============================================================================
- // FILE FORMAT
- // COMMENTS: Double "forward slash" is a comment till EOL
- // Fields must all be specified.
- //
- // Fields are comma separated, newlines are ignored.
- // (this implies that more than one field may be on a line)
- //
- // Everything is ignored after the last comma in a line
- // All characters in a string field are significant up to the comma
- // (including whitespace). There must be a colon before the protocol
- // name (to mark the beginning of the parameter block). The end of
- // a parameter block is marked with a semi-colon.
- //
- // More than one name can reference the same information.
- // This is done by placing a block with only the protocol name
- // specified. The next structure defined will be referenced.
- //
- // PereLine will fill in the following variables in commands:
- //
- // Used only with PereLine protocols:
- // &A = ATTRIBUTES structure pointer
- // &D = Common data area for communication between PL and it's
- // &G = GLOBAL parameters structure pointer
- // &P = PARMS structure pointer
- //
- // Used with any external protocol:
- // &a = Current COM port address e.g., 3f8
- // &c = COM port number
- // &b = Communications speed
- // &d = Data bits
- // &f = a list of files to be sent or received
- // background transfers
- // &h = PereLine communication specific information for XMODEM/KERMIT
- // &i = Current COM port IRQ level
- // &p = Currrent parity setting
- // &s = Stop bits
- //
- //
- // XMODEM protocols use the following arguments:
- //
- // handle = which comm handle to use
- // serial = far pointer to serial comm routines
- // portPCB = far pointer to serial comm PCB's
- //
- // txflag = 1 for transmit 0 for receive
- //
- // xtype = one of:
- // (XMODEM) 0 = XMODEM
- // (TELINK) 1 = TELINK
- // (BATCH) 2 = BATCH
- // (YMODEM) 3 = YMODEM
- // (YMODEM_B) 4 = YMODEM Batch
- // (YMODEM_G) 5 = YMODEM G (No Checksum/CRC checking)
- //
- // crcflag = 1 for CRC, 0 for CHKSUM
- //
- // PDA = Far pointer to structure for information exchange
- // with PereLine.
- // ATTR = Far pointer to PereLine attribute structure
- // GPARM = Far pointer to PereLine global parameter structure
- // PARM = Far pointer to PereLine parameter structure
- // filelist = far pointer to the filelist or prompt string
- // make null for receive.
- //
- // KERMIT protocol uses the following arguments:
- //
- // handle = which comm handle to use
- // serial = far pointer to serial comm routines
- // portPCB = far pointer to serial comm PCB's
- //
- // txflag = 1 for transmit 0 for receive
- // PDA = Far pointer to struct for info exchange with PereLine
- // ATTR = Far pointer to PereLine attribute structure
- // GPARM = Far pointer to PereLine global parameter structure
- // PARM = Far pointer to PereLine parameter structure
- // filelist = pointer to the filelist
- //
- //
- //
- //////////////////////////////////////////////////////////////////////////////
- :ASCII, // Built in protocol
- ASC, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- NO, // YES if Batch NO if not batch
- _NULL_, // Receive Command
- _NULL_; // Send Command
-
- :XMODEM CKSUM,
- XMS, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- NO, // YES if Batch NO if not batch
- XM &h 0 0 0 &D &A &G &P &f, // Receive Command
- XM &h 1 0 0 &D &A &G &P &f; // Send Command
-
- :XMODEM CRC,
- XMC, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- NO, // YES if Batch NO if not batch
- XM &h 0 0 1 &D &A &G &P &f, // Receive Command
- XM &h 1 0 1 &D &A &G &P &f; // Send Command
-
- :XMODEM Batch,
- XMB, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- YES, // YES if Batch NO if not batch
- XM &h 0 2 1 &D &A &G &P, // Receive Command
- XM &h 1 2 1 &D &A &G &P &f; // Send Command
-
-
- :1K-XMODEM,
- YMD, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- NO, // YES if Batch NO if not batch
- XM &h 0 3 1 &D &A &G &P &f, // Receive Command
- XM &h 1 3 1 &D &A &G &P &f; // Send Command
-
- :YMODEM,
- YMB, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- YES, // YES if Batch NO if not batch
- XM &h 0 4 1 &D &A &G &P, // Receive Command
- XM &h 1 4 1 &D &A &G &P &f; // Send Command
-
- :YMODEM-G,
- YMG, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- YES, // YES if Batch NO if not batch
- XM &h 0 5 1 &D &A &G &P, // Receive Command
- XM &h 1 5 1 &D &A &G &P &f; // Send Command
-
- :Telink,
- TEL, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- YES, // YES if Batch NO if not batch
- XM &h 0 1 1 &D &A &G &P, // Receive Command
- XM &h 1 1 1 &D &A &G &P &f; // Send Command
-
- :Kermit,
- KER, // Unique identifier for Change command
- YES, // YES if PL Protocol NO if External
- YES, // YES if Batch NO if not batch
- KM &h 0 &D &A &G &P, // Receive Command
- KM &h 1 &D &A &G &P &f; // Send Command
-
- :ZMODEM (DSZ),
- ZMD, // Unique identifier for Change command
- NO, // YES if PL Protocol NO if External
- YES, // YES if Batch NO if not batch
- DSZ CON port &c rz -r, // Receive Command
- DSZ CON port &c sz -r &f; // Send Command
-
-