home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / iclvme2900 / kmt_data_module < prev    next >
Text File  |  2020-01-01  |  12KB  |  314 lines

  1. MODULE KMT_DATA_MODULE;
  2.    (<GSDATA (KMT_DATA_AREA);
  3.      STATUS 5>)
  4.  
  5. @******************************************************************************@
  6. @*                                                                            *@
  7. @* Mode definitions                                                           *@
  8. @*                                                                            *@
  9. @******************************************************************************@
  10.  
  11. MODE
  12. KMT_FH_RECORD_DETAILS_S IS STRUCT (
  13.    BOOL        FILE_OPEN,
  14.                NEW_RECORD,
  15.                END_OF_FILE,
  16.    WORD        TEXT_TYPE,                          @ 0 = EBCDIC                @
  17.                                                    @ 1 = IA5                   @
  18.                                                    @ 2 = BINARY                @
  19.    INT         MAX_RECORD_LENGTH,
  20.                RECORD_LENGTH,
  21.    (4098) BYTE RECORD);                            @ Maximum record size of    @
  22.                                                    @ 4096 + 2 bytes for CRLF   @
  23.                                                    @ pair when constructing    @
  24.                                                    @ output records            @
  25.  
  26. MODE
  27. KMT_FH_FILE_STATISTICS_S IS STRUCT (
  28.    INT INPUT_TOTAL,
  29.    INT OUTPUT_TOTAL);
  30.  
  31. MODE
  32. KMT_DH_DEVICE_DETAILS_S IS STRUCT (
  33.    BOOL FILE_OPEN,
  34.    WORD MAX_INPUT_LENGTH,
  35.         MAX_OUTPUT_LENGTH,
  36.         INPUT_PARITY,
  37.         OUTPUT_PARITY,
  38.         PAUSE);
  39.  
  40. MODE
  41. KMT_PP_CONFG_PARAMS_S IS STRUCT (
  42.    BYTE   MARK,
  43.           MAXL,
  44.           TIME,
  45.           NPAD,
  46.           PADC,
  47.           EOL,
  48.           QCTL,
  49.           QBIN,
  50.           CHKT,
  51.           REPT,
  52.    4-BYTE CAPAS);
  53.  
  54. MODE
  55. KMT_PP_PACKET_STATISTICS_S IS STRUCT (
  56.    INT INPUT_TOTAL,
  57.        OUTPUT_TOTAL);
  58.  
  59. MODE
  60. KMT_TRACE_FLAGS_S IS WORD STRUCT (
  61.    BIT    PH_TRACING,
  62.           PP_TRACING,
  63.           FH_TRACING,
  64.           DH_TRACING,
  65.    28-BIT SPARE);
  66.  
  67. MODE
  68. KMT_STATISTICS_FLAGS_S IS WORD STRUCT (
  69.    BIT    PP_STATISTICS,
  70.           FH_STATISTICS,
  71.    30-BIT SPARE);
  72.  
  73. MODE
  74. KMT_STATISTICS_S IS STRUCT (
  75.    REF KMT_FH_FILE_STATISTICS_S   FH_FILE_STATISTICS,
  76.    REF KMT_PP_PACKET_STATISTICS_S PACKET_STATISTICS);
  77.  
  78. MODE KMT_BUFFER IS (96)BYTE;
  79. MODE KMT_STRING IS REF()BYTE;
  80. MODE KMT_WORD IS REF()BYTE;
  81.  
  82. MODE KMT_MTM_VALUES IS ANY
  83.   (LONG WORD      LW_VALUE,
  84.    LONG INT       LI_VALUE,
  85.    REF WORD       RW_VALUE,
  86.    REF INT        RI_VALUE,
  87.    REF LONG WORD  RLW_VALUE,
  88.    REF LONG INT   RLI_VALUE,
  89.    REF()BYTE      RVB_VALUE,
  90.    REF()REF()BYTE RVRVB_VALUE);
  91.  
  92. ***PAGE
  93.  
  94. @******************************************************************************@
  95. @*                                                                            *@
  96. @* Global data declarations                                                   *@
  97. @*                                                                            *@
  98. @******************************************************************************@
  99.  
  100. @ Constants: @
  101. @ ********** @
  102.  
  103. GLOBAL STATIC
  104. (256) BYTE ASCII_TO_EBCDIC IS X"00010203 372D2E2F 1605250B 0C0D0E0F"
  105.                               X"10111213 3C3D3226 18193F27 1C1D1E1F"
  106.                               X"404F7F7B 5B6C507D 4D5D5C4E 6B604B61"
  107.                               X"F0F1F2F3 F4F5F6F7 F8F97A5E 4C7E6E6F"
  108.                               X"7CC1C2C3 C4C5C6C7 C8C9D1D2 D3D4D5D6"
  109.                               X"D7D8D9E2 E3E4E5E6 E7E8E94A E05A5F6D"
  110.                               X"79818283 84858687 88899192 93949596"
  111.                               X"979899A2 A3A4A5A6 A7A8A9C0 6AD0A107"
  112.                               X"00010203 372D2E2F 1605250B 0C0D0E0F"
  113.                               X"10111213 3C3D3226 18193F27 1C1D1E1F"
  114.                               X"404F7F7B 5B6C507D 4D5D5C4E 6B604B61"
  115.                               X"F0F1F2F3 F4F5F6F7 F8F97A5E 4C7E6E6F"
  116.                               X"7CC1C2C3 C4C5C6C7 C8C9D1D2 D3D4D5D6"
  117.                               X"D7D8D9E2 E3E4E5E6 E7E8E94A E05A5F6D"
  118.                               X"79818283 84858687 88899192 93949596"
  119.                               X"979899A2 A3A4A5A6 A7A8A9C0 6AD0A107";
  120.  
  121. GLOBAL STATIC
  122. (256) BYTE EBCDIC_TO_ASCII IS X"00010203 1A091A7F 1A1A1A0B 0C0D0E0F"
  123.                               X"10111213 1AFB081A 18191A1A 1C1D1E1F"
  124.                               X"FFFEFDFC 1A0A171B 1A1A1A1A 1A050607"
  125.                               X"1A1A161A 1A1A1A04 1A1A1A1A 14151A1A"
  126.                               X"201A1A1A 1A1A1A1A 1A1A5B2E 3C282B21"
  127.                               X"261A1A1A 1A1A1A1A 1A1A5D24 2A293B5E"
  128.                               X"2D2F1A1A 1A1A1A1A 1A1A7C2C 255F3E3F"
  129.                               X"1A1A1A1A 1A1A1A1A 1A603A23 40273D22"
  130.                               X"1A616263 64656667 68691A1A 1A1A1A1A"
  131.                               X"1A6A6B6C 6D6E6F70 71721A1A 1A1A1A1A"
  132.                               X"1A7E7374 75767778 797A1A1A 1A1A1A1A"
  133.                               X"1A1A1A1A 1A1A1A1A 1A1A1A1A 1A1A1A1A"
  134.                               X"7B414243 44454647 48491A1A 1A1A1A1A"
  135.                               X"7D4A4B4C 4D4E4F50 51521A1A 1A1A1A1A"
  136.                               X"5C1A5354 55565758 595A1A1A 1A1A1A1A"
  137.                               X"30313233 34353637 38391A1A 1A1A1A1A";
  138.  
  139. GLOBAL STATIC INT
  140.    UNSET     IS -1,                                @ Kermit exit states        @
  141.    EXIT      IS 0,
  142.    LOGOUT    IS 1,
  143.    FATAL_ERROR IS 999;
  144.  
  145. GLOBAL STATIC INT EOF IS 9034;
  146.  
  147. GLOBAL STATIC BOOL NOREADINT IS FALSE,
  148.                    READINT   IS TRUE;
  149.  
  150. GLOBAL STATIC INT
  151.    SERVER_MODE  IS 0,                              @ Kermit modes              @
  152.    RECEIVE_MODE IS 1,
  153.    SEND_MODE    IS 2,
  154.    COMMAND_MODE IS 3;
  155.  
  156. GLOBAL STATIC INT
  157.    REC_SERVER_IDLE IS 0,                           @ Protocol Handler states   @
  158.    REC_INIT        IS 1,
  159.    REC_FILE        IS 2,
  160.    REC_DATA        IS 3,
  161.    SEND_INIT       IS 4,
  162.    SEND_FILE       IS 5,
  163.    SEND_DATA       IS 6,
  164.    SEND_EOF        IS 7,
  165.    SEND_BREAK      IS 8,
  166.    COMPLETE        IS 9,
  167.    ABORT           IS 10;
  168.  
  169. GLOBAL STATIC INT
  170.    ENTRY          IS 0,                            @ Packet codes              @
  171.    BREAK_PKT      IS 1,
  172.    DATA_PKT       IS 2,
  173.    ERROR_PKT      IS 3,
  174.    FILE_HDR_PKT   IS 4,
  175.    GEN_CMD_PKT    IS 5,
  176.    INIT_PARAM_PKT IS 6,
  177.    KMT_CMD_PKT    IS 7,
  178.    NAK_PKT        IS 8,
  179.    REC_INIT_PKT   IS 9,
  180.    SEND_INIT_PKT  IS 10,
  181.    ACK_PKT        IS 11,
  182.    EOF_PKT        IS 12,
  183.    BAD_PKT        IS 13,
  184.    INVALID_PKT    IS 14;
  185.  
  186. GLOBAL STATIC INT
  187.    UNS_PKT IS -80251,                              @ Unsupported packet        @
  188.    NON_PKT IS -80252;                              @ Non-existant packet type  @
  189.  
  190. GLOBAL STATIC () INT PACKET_CODES := (UNS_PKT,
  191.                                       BREAK_PKT,                    @ B packet @
  192.                                       UNS_PKT,
  193.                                       DATA_PKT,                     @ D packet @
  194.                                       ERROR_PKT,                    @ E packet @
  195.                                       FILE_HDR_PKT,                 @ F packet @
  196.                                       GEN_CMD_PKT,                  @ G packet @
  197.                                       NON_PKT,
  198.                                       INIT_PARAM_PKT,               @ I packet @
  199.                                       NON_PKT,
  200.                                       KMT_CMD_PKT,                  @ K packet @
  201.                                       NON_PKT,
  202.                                       NON_PKT,
  203.                                       NAK_PKT,                      @ N packet @
  204.                                       NON_PKT,
  205.                                       NON_PKT,
  206.                                       NON_PKT,
  207.                                       REC_INIT_PKT,                 @ R packet @
  208.                                       SEND_INIT_PKT,                @ S packet @
  209.                                       UNS_PKT,
  210.                                       NON_PKT,
  211.                                       NON_PKT,
  212.                                       NON_PKT,
  213.                                       UNS_PKT,
  214.                                       ACK_PKT,                      @ Y packet @
  215.                                       EOF_PKT);                     @ Z packet @
  216.  
  217. GLOBAL STATIC INT
  218.    VME_TERM IS 0,                                     @ VME terminal file name @
  219.    VME_STD  IS 1,                                     @ VME standard file name @
  220.    KMT_STD  IS 2;                                     @ Kermit standard name   @
  221.  
  222. ***LINES(4)
  223.  
  224. @ Variables: @
  225. @ ********** @
  226.  
  227. GLOBAL
  228. STATIC (<STATUS 5>)
  229. KMT_FH_RECORD_DETAILS_S KMT_FH_RECORD_DETAILS;
  230.  
  231. GLOBAL
  232. STATIC (<STATUS 5>)
  233. KMT_FH_FILE_STATISTICS_S KMT_FH_FILE_STATISTICS;
  234.  
  235. GLOBAL
  236. STATIC (<STATUS 5>)
  237. KMT_DH_DEVICE_DETAILS_S KMT_DH_DEVICE_DETAILS;
  238.  
  239. ***LINES(4)
  240.  
  241. GLOBAL
  242. STATIC (<STATUS 5>)
  243. KMT_PP_CONFG_PARAMS_S KMT_PP_LOCAL_CONFG_PARAMS;
  244.  
  245. GLOBAL
  246. STATIC (<STATUS 5>)
  247. KMT_PP_CONFG_PARAMS_S KMT_PP_REMOTE_CONFG_PARAMS;
  248.  
  249. GLOBAL
  250. STATIC (<STATUS 5>)
  251. KMT_PP_PACKET_STATISTICS_S KMT_PP_PACKET_STATISTICS;
  252.  
  253. ***LINES(4)
  254.  
  255. GLOBAL
  256. STATIC (<STATUS 5>)
  257. REF () BYTE KMT_PH_INPUT_PACKET_DATA;
  258.  
  259. ***LINES(4)
  260.  
  261. GLOBAL
  262. STATIC (<STATUS 5>)
  263. KMT_TRACE_FLAGS_S KMT_TRACE_FLAGS;
  264.  
  265. GLOBAL
  266. STATIC (<STATUS 5>)
  267. KMT_STATISTICS_FLAGS_S KMT_STATISTICS_FLAGS;
  268.  
  269. GLOBAL
  270. STATIC (<STATUS 5>)
  271. KMT_STATISTICS_S KMT_STATISTICS := (KMT_FH_FILE_STATISTICS,
  272.                                     KMT_PP_PACKET_STATISTICS);
  273.  
  274. GLOBAL STATIC () BYTE KMT_VERSION := "1.01";
  275.  
  276. GLOBAL STATIC BOOL ASG_ROUTE;
  277.  
  278. GLOBAL STATIC (15)KMT_MTM_VALUES KMT_MTM_AREA;
  279. GLOBAL STATIC (80)BYTE MTM_TEXT;
  280. GLOBAL STATIC INT MTM_TEXT_LEN;
  281. GLOBAL STATIC (2)REF()BYTE MTM_RECALL_DATA;
  282.  
  283. GLOBAL STATIC INT RC_IGNORED;                      @ ignored result code       @
  284. GLOBAL STATIC INT PKT_SEQ;                         @ packet sequence number    @
  285. GLOBAL STATIC INT PKT_NO;                          @ number of packet received @
  286. GLOBAL STATIC INT PKT_TYPE;                        @ packet type               @
  287. GLOBAL STATIC INT RETRY_COUNT;                     @ retry count               @
  288. GLOBAL STATIC INT RETRY_TOTAL;                     @ total retries during xfer @
  289. GLOBAL STATIC INT TIMEOUT_TOTAL;                  @ total timeouts during xfer @
  290. GLOBAL STATIC INT MAXTRY;                          @ max retries               @
  291. GLOBAL STATIC INT EXIT_STATE;                      @ controls main Kermit loop @
  292. GLOBAL STATIC INT KMT_CURRENT_MODE;              @ server/send/receive/command @
  293. GLOBAL STATIC INT KMT_PH_STATE;                    @ state in protocol handler @
  294. GLOBAL STATIC INT FILE_OPTION;               @ create or replace receive files @
  295. GLOBAL STATIC WORD DELAY;                  @ time delay before SEND_INIT packet@
  296. GLOBAL STATIC BOOL DELAY_TIMER;            @ set delay timer before get packet @
  297. GLOBAL STATIC BOOL SAVE_INCOMPLETE_FILE;    @ save action for incomplete files @
  298. GLOBAL STATIC BOOL TRANSLATE_FILENAME;           @ file names to be translated @
  299. GLOBAL STATIC KMT_BUFFER KMT_VME_FILE_BUF,         @ buffer for VME filename   @
  300.                          KMT_REM_FILE_BUF;        @ buffer for remote filename @
  301. GLOBAL STATIC KMT_WORD KMT_VME_FILE,               @ pointer to VME filename   @
  302.                        KMT_REM_FILE;              @ pointer to remote filename @
  303.  
  304. GLOBAL STATIC KMT_BUFFER KMT_INPUT_BUF;                   @ command line buffer@
  305.  
  306. ***LINES(4)
  307.  
  308. @ Results: @
  309. @ ******** @
  310.  
  311. ***LINES(4)
  312.  
  313. ENDMODULE                                          @ KMT_DATA_MODULE           @
  314.