home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / plawo22i.zip / PLWIDIS1.ZIP / ff / inc / eapimsg.h
Text File  |  1992-07-28  |  27KB  |  618 lines

  1. /*************************************************************************
  2.  *
  3.  *  PlantWorks - Interface Services/2
  4.  *  5713-ADM
  5.  *
  6.  *************************************************************************/
  7.  
  8. /*************************************************************************
  9.  *
  10.  * DESCRIPTION: This is the IS/2 message definition file
  11.  *              Line length must < 72 char. for portability
  12.  *************************************************************************/
  13.  
  14. /*
  15.  * IS/2 Transaction message definitions
  16.  */
  17.  
  18. /*
  19. ** IS/2 Transaction ID Codes. These codes are used by the IS/2 Client on tid.
  20. */
  21. #define EA_AUTHORIZE    1               /* start an IS/2 session       */
  22. #define EA_EXIT         2               /* exit an IS/2 session        */
  23. #define EA_SYMLOOKUP    3               /* symbol look up              */
  24. #define EA_VARINIT      4               /* initialize variable set     */
  25. #define EA_VARDELETE    5               /* delete variable set ID      */
  26. #define EA_READ         6               /* read data,variable/record    */
  27. #define EA_CANCEL       7               /* cancel a pending read    */
  28. #define EA_WRITE        8               /* write data, variable/record    */
  29. #define EA_TRIGCHAIN    9               /* trigger a chain to run      */
  30. #define EA_PRINT        10              /* print request        */
  31. #define EA_ALARM        11              /* modify/set an alarm        */
  32. #define EA_RECINIT      12              /* initialize a record ID      */
  33. #define EA_RECDELETE    13              /* delete a record ID          */
  34. #define EA_ERROR_MSG    14              /* error response message    */
  35. #define EA_AUTHERROR    15              /* authorization failure (int)    */
  36. #define MAX_T_ID        15              /* MAX T_ID no.             */
  37.  
  38. /*
  39.  * IS/2 server resource name known to IS/2 client user
  40.  */
  41. #define EA_SERVER_NAME    "EAPI.CS2NODE"
  42.  /*
  43.   * IS/2 server DAE resource name this is the resource name that IS/2 Client
  44.   * program used to send msg to
  45.   */
  46. #define EA_SEND_NAME      "EAPISEND.CS2NODE"
  47.  /*
  48.   * IS/2 server DAE resource name the ea_send register on, but all of msg
  49.   * should send to "EAPI.nodename"
  50.   */
  51.  
  52. /*
  53.  * processor type, used by ear_authorize.proc_type
  54.  */
  55.  
  56. #define EA_CS2          1               /* 80286 + DAE CPU type     */
  57. #define EA_APPC2        2               /* 80286 + APPC CPU type    */
  58. #define EA_APPCMVS      3               /* 370 MVS+APPC+VTAM        */
  59. #define EA_USR1         4               /* user supplied conversion 1 */
  60. #define EA_USR2         5               /* user supplied conversion 2 */
  61. #define MAX_CPU_TYPE    5               /* max CPU type             */
  62. #define EA_APPCVM       EA_APPCMVS      /* 370 VM+APPC+VTAM     */
  63.  
  64. /*
  65.  * Size of various data fields
  66.  */
  67. #define MAX_AUTH        32              /* max length of user name  */
  68. #define MAX_PASSWD      32              /* max length of password   */
  69. #define MAX_SYMB        32              /* max length of a symbol   */
  70. #define MAX_FILE_NAME   12              /* max length of File name  */
  71. #define MAX_EA_MSG      0x8000          /* max length of IS/2 msg   */
  72. #define MAX_CS2_RESOURCE_NAME   18    /* max length DAE resource name */
  73.  
  74. #define NUMVAR          1               /* Min number of variable   */
  75.  
  76. /*
  77.  * transaction status, used by eas_header.status
  78.  */
  79. /* MNEMONIC      NUMERIC VALUE */
  80.  
  81. #define EA_ERROR        -1
  82. #define EA_SUCCESS      0               /* Request successfully completed. */
  83. #define EA_OK           EA_SUCCESS
  84. #define EA_NOPW         1               /* Request aborted - The PlantWorks
  85.                                          * system is unavailable due to
  86.                                          * processor or communications
  87.                                          * failure, or intentional PlantWorks
  88.                                          * shutdown. If this code is returned
  89.                                          * in a PW_STATUS array entry for an
  90.                                          * EA_READ/EA_WRITE request, it
  91.                                          * indicates that the specific
  92.                                          * variable was not transferred */
  93. #define EA_BADPARAM     2               /* Request aborted - One or more of
  94.                                          * parameters in the request contain
  95.                                          * illegal values. See individual msg
  96.                                          * descriptions for specifics. */
  97. #define EA_INSUFFPARAM  3               /* Request aborted - Fewer parameters
  98.                                          * were supplied with the request than
  99.                                          * are required. */
  100. #define EA_NOMEM        4               /* Request aborted -Insufficient
  101.                                          * dynamic memory is available to the
  102.                                          * requesting program to process the
  103.                                          * request. */
  104. #define EA_NOFFMEM      5               /* Request aborted -Insufficient
  105.                                          * dynamic memory is available in the
  106.                                          * PlantWorks system to process the
  107.                                          * request. */
  108. #define EA_NOSYMBOL     6               /* Request aborted - A PlantWorks
  109.                                          * symbol specified in the request
  110.                                          * does not exist in the PlantWorks
  111.                                          * symbol table */
  112. #define EA_BADSYMTYPE   7               /* Request aborted - The type code for
  113.                                          * a PlantWorks symbol specified in
  114.                                          * the request does not agree with the
  115.                                          * type in the PlantWorks symbol table */
  116. #define EA_SYMAMBIG     8               /* Request aborted -A PlantWorks
  117.                                          * symbol as specified in the request
  118.                                          * is not unique. */
  119. #define EA_IOERROR      9               /* Request aborted - An unrecoverable
  120.                                          * I/O error was encountered in the
  121.                                          * PlantWorks system. */
  122. #define EA_ILLEGALREQ   10              /* Request aborted - The request
  123.                                          * resulted in an illegal request
  124.                                          * return from the PlantWorks service
  125.                                          * request */
  126. #define EA_OVERRUN      11              /* Partial data was transmitted. There
  127.                                          * was insufficient buffer space
  128.                                          * available. The first part of the
  129.                                          * data for which space was provided
  130.                                          * has been transferred. */
  131. #define EA_NOSPOOL      13              /* Printing was not performed.
  132.                                          * Spooling required in the PlantWorks
  133.                                          * system but unavailable for use. */
  134. #define EA_NODEVICE     14              /* The requested device is not defined
  135.                                          * in the PlantWorks system  */
  136. #define EA_MULTVARERR   16              /* Request aborted - There were
  137.                                          * multiple variable specific errors.
  138.                                          * Check the PW_STATUS array for
  139.                                          * detailed error information. */
  140. #define EA_PARTIALXFER  17              /* Request partially successful - One
  141.                                          * or more variables were not
  142.                                          * transferred.Check the PW_STATUS
  143.                                          * array for detailed error
  144.                                          * information. */
  145. #define EA_NOPRIV       20              /* Request aborted - initialization
  146.                                          * has not been done or the requesting
  147.                                          * program has insufficient privilege
  148.                                          * for the requested function. */
  149. #ifdef  REL_2_0
  150. #define EA_NOTCANCELLED 21              /* Request aborted - attempted to
  151.                                          * delete a database entry for which
  152.                                          * an asynchronous transfer is still
  153.                                          * taking place. A request to
  154.                                          * ea_cancel will facilitate success
  155.                                          * here. */
  156. #endif
  157. #define EA_CURRENT      22              /* Request aborted - attempted to
  158.                                          * reissue a request to ea_read with a
  159.                                          * varset_id which is already active. */
  160. #define EA_BADSEQUENCE  28              /* Bad msg sequence, msg out of
  161.                                          * sequence */
  162. #define EA_BADSIZE      29              /* Bad msg size, or msg length not
  163.                                          * consistent */
  164. #define EA_NOVARSET     30              /* use varset_id/record_id before its
  165.                                          * defined      */
  166. #define EA_MAX_ERROR    30              /* MAXIMUM ERROR codes     */
  167. #define EA_OK_NOP       100             /* procedure function OK, don't send
  168.                                          * response msg */
  169. /*
  170.  * EA_EXIT Type Codes -----------------------------
  171.  *  used by ear.mode
  172.  */
  173. #define EA_EXIT_WAIT        0           /* exit with wait               */
  174. #define EA_EXIT_IMMEDIATELY 1           /* exit immediately, do not wait for
  175.                                          * any outstanding response     */
  176. /*
  177.  * Real Time Transfer Type Codes -----------------------------
  178.  *
  179.  * These are the definitions of the Real Time Transfer Type
  180.  * code.  Variable type codes.
  181.  * Used by ear_varinit.pw_type,
  182.  *         ear_recinit.pw_type,
  183.  *     and eas_symlookup.data_type
  184.  */
  185.  
  186. /*
  187.  * MNEMONIC          NUMERIC VALUE
  188.  */
  189. #define EAD_FLAG        0x2             /* Flag - P_ORDINAL         */
  190. #define EAD_INT1        0x3             /* Byte - P_BYTE            */
  191. #define EAD_INT2        0x4             /* Integer - P_INTEGER      */
  192. #define EAD_FLOAT       0x5             /* Real - P_FLOAT           */
  193. #define EAD_INT4        0x6             /* Long Integer- P_LONG     */
  194. #define EAD_CHAR        0x8             /* TEXT string              */
  195. #define EAD_RECORD      0x11            /* Record, =S_SARRAY        */
  196. #define EAD_RECFORMAT   0x13            /* Record format =S_SKELTN  */
  197. #define EAD_ALARM       0x17            /* ALARM,  =S_ALARM         */
  198. #define EAD_CHAIN       0x18            /* Chain                    */
  199. #define EAD_TIMESTAMP   0x19            /* timestamp                */
  200. #define EAD_ARRAY       0x80            /* Array Element.           */
  201. #define EAD_OTHERS      0x1000          /* other types              */
  202. #define EAD_CHAR_MAX    255             /* max size of char string  */
  203.  
  204. /*
  205.  *      Internal definition
  206.  */
  207. #define EAD_FILLER      0x1             /* msg filler               */
  208. #define EAD_DOUBLE      0x7             /* Double- P_DOUBLE         */
  209. #define EAD_SHORT       EAD_INT2        /* Short Integer            */
  210. #define EAD_REAL        EAD_FLOAT       /* Real - P_FLOAT          */
  211. #define EAD_SYMB        0xd             /* FF symbol                */
  212. #define EAD_TEXT        0xe             /* FF text, 64k max         */
  213.  
  214. /*
  215.  * Transfer Type codes. Used by ear_varinit.transfer_type
  216.  *                          and ear_recinit.transfer_type
  217.  *
  218.  */
  219.  
  220. /* MNEMONIC              NUMERIC VALUE */
  221.  
  222. #define EAI_DEMAND       1              /* Demand read.     */
  223. #define EAI_WRITE        64             /* Overwrite output.    */
  224.  
  225. #define EAI_TRIG_TTOF    4              /* Triggered read - true to false. */
  226. #define EAI_TRIG_FTOT    8              /* Triggered read - false to true. */
  227. #define EAI_TRIG_ANY     16             /* Triggered read - any. */
  228. #define EAI_INCR         128            /* Incremental output.  */
  229.  
  230. /*
  231. ** Alarm status values (copied from alarm.h)
  232. ** Documented in the "Definition Services/2" manual.
  233. */
  234. #define ALM_NORMAL              0x00
  235. #define ALM_IN_ALARM            0x01
  236.  
  237. #define ALM_HIGH                0x02
  238. #define ALM_HIGH_HIGH           0x03
  239. #define ALM_INSTR_HIGH          0x04
  240. #define ALM_OUT_CLAMP_HIGH      0x05
  241.  
  242. #define ALM_LOW                 0x06
  243. #define ALM_LOW_LOW             0x07
  244. #define ALM_INSTR_LOW           0x08
  245. #define ALM_OUT_CLAMP_LOW       0x09
  246.  
  247. /*
  248.  * These are the IS/2 msg format definitions for each request/response msg
  249.  */
  250.  
  251. #define FF_HEADER        0x02           /* FF msg basic header   */
  252. #define BINARY_APPC      'B'            /* APPC binary message tag */
  253. #define OS2_APPC_HEADER  1              /* length of OS/2 APPC header */
  254. #define VTAM_APPC_HEADER 1              /* length of VTAM APPC header */
  255.  
  256. struct ea_cs2_header
  257. {                                       /* message header from DAE  */
  258.     char        tid;                    /* transaction ID           */
  259.     char        u_msg_id;               /* user provided msg ID     */
  260. };
  261.  
  262. struct ea_ap2_header
  263. {                                       /* message header for OS/2 APPC */
  264.     char        mts[OS2_APPC_HEADER];
  265.     char        tid;                    /* transaction ID           */
  266.     char        u_msg_id;               /* user provided msg ID     */
  267. };
  268.  
  269. struct ea_apv_header
  270. {                                       /* message header for MVS/VTAM APPC */
  271.     char        mts[VTAM_APPC_HEADER];
  272.     char        tid;                    /* transaction ID           */
  273.     char        u_msg_id;               /* user provided msg ID     */
  274. };
  275.  
  276. struct ear_header
  277. {
  278.     char        tid;                    /* transaction ID           */
  279.     char        u_msg_id;               /* user provided msg ID     */
  280. };
  281.  
  282. struct eas_header
  283. {
  284.     char        tid;                    /* transaction ID           */
  285.     char        u_msg_id;               /* user provided msg ID     */
  286.     short       status;                 /* completion status        */
  287. };
  288.  
  289. struct ear_alarm
  290. {
  291.     char        tid;                    /* transaction ID           */
  292.     char        u_msg_id;               /* user provided msg ID     */
  293.     char        alarm_name[MAX_SYMB];    /* alarm name               */
  294.     short       transition;             /* new alarm state */
  295.     short       data_length;            /* buffer length in data   */
  296.     char        alarm_data[NUMVAR];     /* the alarm data    */
  297. };
  298.  
  299. struct eas_alarm
  300. {
  301.     char        tid;                    /* transaction ID           */
  302.     char        u_msg_id;               /* user provided msg ID     */
  303.     short       status;                 /* completion status        */
  304. };
  305.  
  306. struct ear_authorize
  307. {
  308.     char        tid;                    /* transaction ID           */
  309.     char        u_msg_id;               /* user provided msg ID     */
  310.     char        proc_type;              /* processor type of sender */
  311.     char        r2;                     /* reserved                 */
  312.     char        username[MAX_AUTH];    /* user name                */
  313.     char        password[MAX_PASSWD];    /* user password            */
  314. };
  315.  
  316. struct eas_authorize
  317. {
  318.     char        tid;                    /* transaction ID           */
  319.     char        u_msg_id;               /* user provided msg ID     */
  320.     short       status;                 /* message status           */
  321. };
  322.  
  323. struct ear_cancel
  324. {
  325.     char        tid;                    /* transaction ID           */
  326.     char        u_msg_id;               /* user provided msg ID     */
  327.     short       varset_id;              /* variable set ID          */
  328. };
  329.  
  330. struct eas_cancel
  331. {
  332.     char        tid;                    /* transaction ID           */
  333.     char        u_msg_id;               /* user provided msg ID     */
  334.     short       status;            /* completion status        */
  335.     short       varset_id;              /* variable set ID          */
  336. };
  337.  
  338. struct ear_exit
  339. {
  340.     char        tid;                    /* transaction ID           */
  341.     char        u_msg_id;               /* user provided msg ID     */
  342.     short       mode;                   /* exit mode: 0=normal,1=forced */
  343. };
  344.  
  345. struct eas_exit
  346. {
  347.     char        tid;                    /* transaction ID           */
  348.     char        u_msg_id;               /* user provided msg ID     */
  349.     short       status;                 /* transaction status       */
  350. };
  351.  
  352. struct eas_error
  353. {
  354.     char        tid;                    /* transaction ID           */
  355.     char        u_msg_id;               /* user provided msg ID     */
  356.     short       status;                 /* transaction status       */
  357.     short       err_offset;             /* offset where error detected */
  358.     char        req_tid;                /* transaction ID           */
  359. };
  360.  
  361. struct ear_recinit
  362. {
  363.     char        tid;                    /* transaction ID           */
  364.     char        u_msg_id;               /* user provided msg ID     */
  365.     short       numvar;                 /* no. of field in a record */
  366.     short       transfer_type;          /* type of the xfer to make */
  367.     char        pw_trigger[MAX_SYMB];    /* flag for trigger         */
  368.     short       pw_type[NUMVAR];    /* field data type         */
  369.     char        pw_name[MAX_SYMB];    /* name of the record       */
  370. };
  371.  
  372. struct eas_recinit_header
  373. {
  374.     char        tid;                    /* transaction ID           */
  375.     char        u_msg_id;               /* user provided msg ID     */
  376.     short       status;                 /* completion status        */
  377.     short       recset_id;              /* rec_id of record group   */
  378.     short       numvar;                 /* # fields in this record  */
  379. };
  380.  
  381. struct eas_recinit
  382. {
  383.     char        tid;                    /* transaction ID           */
  384.     char        u_msg_id;               /* user provided msg ID     */
  385.     short       status;                 /* completion status        */
  386.     short       recset_id;              /* rec_id for record group  */
  387.     short       numvar;                 /* no. of field linked      */
  388.     short       pw_status[NUMVAR];    /* status code for error    */
  389. };
  390.  
  391. struct ear_recdelete
  392. {
  393.     char        tid;                    /* transaction ID           */
  394.     char        u_msg_id;               /* user provided msg ID     */
  395.     short       recset_id;              /* record  to be deleted    */
  396. };
  397.  
  398. struct eas_recdelete
  399. {
  400.     char        tid;                    /* transaction ID           */
  401.     char        u_msg_id;               /* user provided msg ID     */
  402.     short       status;                 /* completion status        */
  403.     short       recset_id;              /* record  deleted          */
  404. };
  405.  
  406. struct ear_print
  407. {
  408.     char        tid;                    /* transaction ID           */
  409.     char        u_msg_id;               /* user provided msg ID     */
  410.     char        print_name[MAX_SYMB];    /* printer name             */
  411.     short       record_no;              /* multiple record ID #     */
  412.     /*
  413.      * 0 = only record, 1 = Beginning of multiple record 2 = Middle of record
  414.      * 3 = last record of long record
  415.      */
  416.     short       data_length;            /* byte count of the data  */
  417.     char        print_data[NUMVAR];    /* data to be printed      */
  418. };
  419.  
  420. struct eas_print
  421. {
  422.     char        tid;                    /* transaction ID           */
  423.     char        u_msg_id;               /* user provided msg ID     */
  424.     short       status;                 /* completion status        */
  425.     short       record_no;              /* msg ID # for multiple record */
  426. };
  427.  
  428. struct ear_read
  429. {
  430.     char        tid;                    /* transaction ID           */
  431.     char        u_msg_id;               /* user provided msg ID     */
  432.     short       varset_id;              /* variable set ID to read  */
  433. };
  434.  
  435. struct eas_read_header
  436. {
  437.     char        tid;                    /* transaction ID           */
  438.     char        u_msg_id;               /* user provided msg ID     */
  439.     short       status;                 /* message status           */
  440.     short       varset_id;              /* variable set ID have read */
  441.     short       numvar;                 /* no. of variable linked   */
  442. };
  443.  
  444. struct eas_read
  445. {
  446.     char        tid;                    /* transaction ID           */
  447.     char        u_msg_id;               /* user provided msg ID     */
  448.     short       status;                 /* message status           */
  449.     short       varset_id;              /* variable set ID have read */
  450.     short       numvar;                 /* no. of variable linked   */
  451.     short       pw_status[NUMVAR];    /* status code for error    */
  452.     char        pw_var[NUMVAR];
  453. };
  454.  
  455. struct ear_symlookup
  456. {
  457.     char        tid;                    /* transaction ID            */
  458.     char        u_msg_id;               /* user provided msg ID      */
  459.     char        symbol[MAX_SYMB];    /* symbol name               */
  460. };
  461.  
  462. struct eas_symlookup
  463. {
  464.     char        tid;                    /* transaction ID           */
  465.     char        u_msg_id;               /* user provided msg ID     */
  466.     short       status;                 /* completion status        */
  467.     char        node_name[MAX_SYMB];    /* network node name        */
  468.     short       data_type;              /* symbol data type         */
  469.     short       data_length;            /* data length in bytes     */
  470. };
  471.  
  472. /*
  473.  *         struct to support optional symbol data
  474.  */
  475. struct type_desc
  476. {
  477.     short       pw_type;                /* data type of each record variable */
  478.     short       length;                 /* size of record variable in bytes  */
  479. };
  480.  
  481. struct rec_options
  482. {
  483.     short       numvar;                 /* numvar of variable in this record */
  484.     struct type_desc type_desc[NUMVAR];    /* array of type desciptors */
  485. };
  486.  
  487. struct eas_symlookup1
  488. {
  489.     char        tid;                    /* transaction ID           */
  490.     char        u_msg_id;               /* user provided msg ID     */
  491.     short       status;                 /* completion status        */
  492.     char        node_name[MAX_SYMB];    /* network node name */
  493.     short       data_type;              /* symbol data type        */
  494.     short       data_length;            /* symbol data length in bytes     */
  495.     struct rec_options options;         /* optional data descrition for
  496.                                          * EAD_REC */
  497. };
  498.  
  499. struct ear_trigchain
  500. {
  501.     char        tid;                    /* transaction ID           */
  502.     char        u_msg_id;               /* user provided msg ID     */
  503.     char        chain_name[MAX_SYMB];    /* chain name to trigger    */
  504. };
  505.  
  506. struct eas_trigchain
  507. {
  508.     char        tid;                    /* transaction ID           */
  509.     char        u_msg_id;               /* user provided msg ID     */
  510.     short       status;                 /* completion status        */
  511.     char        chain_name[MAX_SYMB];    /* chain name triggered     */
  512. };
  513.  
  514. struct ear_vardelete
  515. {
  516.     char        tid;                    /* transaction ID           */
  517.     char        u_msg_id;               /* user provided msg ID     */
  518.     short       varset_id;              /* variable  to be deleted  */
  519. };
  520.  
  521. struct eas_vardelete
  522. {
  523.     char        tid;                    /* transaction ID           */
  524.     char        u_msg_id;               /* user provided msg ID     */
  525.     short       status;                 /* completion status        */
  526.     short       varset_id;              /* variable  deleted        */
  527. };
  528.  
  529. struct ear_varinit
  530. {
  531.     char        tid;                    /* transaction ID           */
  532.     char        u_msg_id;               /* user provided msg ID     */
  533.     short       numvar;                 /* no. of variable to link  */
  534.     short       transfer_type;          /* type of the xfer         */
  535.     char        pw_trigger[MAX_SYMB];    /* flag for trigger         */
  536.     short       pw_type[NUMVAR];    /* array of variable data types */
  537.     char        pw_name[NUMVAR * MAX_SYMB]; /* list of variable names */
  538. };
  539.  
  540. struct eas_varinit_header
  541. {
  542.     char        tid;                    /* transaction ID           */
  543.     char        u_msg_id;               /* user provided msg ID     */
  544.     short       status;                 /* completion status        */
  545.     short       varset_id;              /* var_id for this variable group */
  546.     short       numvar;                 /* no. of variable linked   */
  547. };
  548.  
  549. struct eas_varinit
  550. {
  551.     char        tid;                    /* transaction ID           */
  552.     char        u_msg_id;               /* user provided msg ID     */
  553.     short       status;                 /* completion status        */
  554.     short       varset_id;              /* var_id for this variable group */
  555.     short       numvar;                 /* no. of variable linked   */
  556.     short       pw_status[NUMVAR];    /* status code for error    */
  557. };
  558.  
  559. struct ear_write_header
  560. {
  561.     char        tid;                    /* transaction ID           */
  562.     char        u_msg_id;               /* user provided msg ID     */
  563.     short       varset_id;              /* output variable ID       */
  564.     short       numvar;                 /* no. of variable to write */
  565. };
  566.  
  567. struct ear_write
  568. {
  569.     char        tid;                    /* transaction ID           */
  570.     char        u_msg_id;               /* user provided msg ID     */
  571.     short       varset_id;              /* variable ID for write    */
  572.     short       numvar;                 /* no. of variable to write */
  573.     char        pw_var[NUMVAR];
  574. };
  575.  
  576. struct eas_write_header
  577. {
  578.     char        tid;                    /* transaction ID           */
  579.     char        u_msg_id;               /* user provided msg ID     */
  580.     short       status;                 /* completion status        */
  581.     short       varset_id;              /* output variable ID       */
  582.     short       numvar;                 /* no. of variable to write */
  583. };
  584.  
  585. struct eas_write
  586. {
  587.     char        tid;                    /* transaction ID           */
  588.     char        u_msg_id;               /* user provided msg ID     */
  589.     short       status;                 /* completion status        */
  590.     short       varset_id;              /* variable ID for write    */
  591.     short       numvar;                 /* no. of variable to write */
  592.     short       pw_status[NUMVAR];
  593. };
  594.  
  595. /*
  596. ** Message structures for trigger task
  597. */
  598. struct eat_cancel
  599. {
  600.     unsigned short    varsetid;    /* varset id to be canceled */
  601. };
  602.  
  603. struct eat_delete
  604. {
  605.     unsigned short    varsetid;    /* varset id to be canceled */
  606. };
  607.  
  608. struct eat_trigger_flag_init
  609. {
  610.     unsigned short    varsetid;    /* varset id to be read        */
  611.     unsigned short    trigoptions;
  612.     char        trigger_flag[MAX_SYMB];
  613. };
  614.  
  615. /*
  616.  * End of message structures
  617.  */
  618.