home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / HLLAPI32.ZIP / HAPI_C.H next >
Text File  |  1991-12-04  |  42KB  |  852 lines

  1. /*********************************************************************/
  2. /*                                                                   */
  3. /*   FILE NAME: HAPI_C.H                                             */
  4. /*                                                                   */
  5. /*   MODULE NAME = HAPI_C.H                                          */
  6. /*                                                                   */
  7. /*   DESCRIPTIVE NAME = EHLLAPI INCLUDE FILE FOR "C"                 */
  8. /*                                                                   */
  9. /*   STATUS=  EXTD 1.0                                               */
  10. /*                                                                   */
  11. /*   FUNCTION=                                                       */
  12. /*     DEFINE FUNCTION CODES, RETURN CODES, AND STRUCTURES FOR       */
  13. /*     EHLLAPI.                                                      */
  14. /*                                                                   */
  15. /*   REMARKS=                                                        */
  16. /*     If writing a 32 bit application using the IBM C Set/2 32 bit  */
  17. /*     compiler, the programmer should be aware of several things... */
  18. /*                                                                   */
  19. /*     * far pointers (far *) do not exist, only 32 bit pointers and */
  20. /*       16 bit (* _Seg16) pointers.  There are no near pointers.    */
  21. /*       For pointers passed as parameters to a 16 bit function      */
  22. /*       (ie. call to hllapi), conversion occurs automatically as    */
  23. /*       long as the funcion is prototyped correctly (see below).    */
  24. /*                                                                   */
  25. /*     * Structure types include proper types for the 16 bit         */
  26. /*       functions, however, during declaration, the structure must  */
  27. /*       be cast as a _Packed structure and as a 16 bit (_Seg16)     */
  28. /*       type structure.  This is done as follows:                   */
  29. /*                                                                   */
  30. /*        #pragma seg16(dsp_struct)                                  */
  31. /*          _Packed struct qses_struct dsp_struct;                   */
  32. /*                                                                   */
  33. /*       A pointer to this structure is defined as follows:          */
  34. /*                                                                   */
  35. /*          _Packed struct qses_struct * data_ptr;                   */
  36. /*                                                                   */
  37. /*     * A Stack for the 16 bit API must be allocated in addition to */
  38. /*       the usual stack:                                            */
  39. /*                                                                   */
  40. /*        #pragma stack16 (4096)                                     */
  41. /*                                                                   */
  42. /*                                                                   */
  43. /*   CHANGE ACTIVITY =                                               */
  44. /*   CS2 => Indicates changes(C) and additions(A) to support         */
  45. /*          IBM C Set/2 32 bit applications.                         */
  46. /*                                                                   */
  47. /*************************-END OF PROLOG-*****************************/
  48.  
  49. /*********************************************************************/
  50.  
  51. #ifndef  OS2_INCLUDED
  52. #define  CHAR  char
  53. #define  SHORT short
  54. #define  LONG  long
  55. typedef  unsigned char  UCHAR;
  56. typedef  unsigned short USHORT;
  57. typedef  unsigned long  ULONG;
  58. typedef  unsigned int   UINT;
  59. typedef  unsigned char  BYTE;
  60. #endif
  61.  
  62. #ifdef E32TO16                        /* if this is to be used with  */
  63.                                       /* 32 bit application          */
  64.                                       /* prototype for EHLLAPI call  */
  65.    extern void hllapi(USHORT *_Seg16, char *_Seg16,
  66.                       USHORT *_Seg16, USHORT *_Seg16);
  67.  
  68. #  pragma linkage (hllapi, far16 pascal)
  69. #  define PTR16 * _Seg16              /* for pointers to be used by  */
  70.                                       /* 16 bit applications... these*/
  71.                                       /* are passed inside structures*/
  72.  
  73. #else                                 /* this is for 16 bit app      */
  74. #  define PTR16 far *
  75. #endif
  76.  
  77.  
  78. /*********************************************************************/
  79. /**************** EHLLAPI FUNCTION NUMBERS ***************************/
  80. /*********************************************************************/
  81.  
  82. #define HA_CONNECT_PS            1      /* 000 Connect PS            */
  83.                                         /* function number.          */
  84.  
  85. #define HA_DISCONNECT_PS         2      /* 000 Disconnect PS         */
  86.                                         /* function number.          */
  87.  
  88. #define HA_SENDKEY               3      /* 000 Sendkey function      */
  89.                                         /* number.                   */
  90.  
  91. #define HA_WAIT                  4      /* 000 Wait function         */
  92.                                         /* number.                   */
  93.  
  94. #define HA_COPY_PS               5      /* 000 Copy PS function      */
  95.                                         /* number.                   */
  96.  
  97. #define HA_SEARCH_PS             6      /* 000 Search PS function    */
  98.                                         /* number.                   */
  99.  
  100. #define HA_QUERY_CURSOR_LOC      7      /* 000 Query Cursor          */
  101.                                         /* Location function         */
  102.                                         /* number.                   */
  103.  
  104. #define HA_COPY_PS_TO_STR        8      /* 000 Copy PS to String     */
  105.                                         /* function number.          */
  106.  
  107. #define HA_SET_SESSION_PARMS     9      /* 000 Set Session           */
  108.                                         /* Parameters function       */
  109.                                         /* number.                   */
  110.  
  111. #define HA_QUERY_SESSIONS        10     /* 000 Query Sessions        */
  112.                                         /* function number.          */
  113.  
  114. #define HA_RESERVE               11     /* 000 Reserve function      */
  115.                                         /* number.                   */
  116.  
  117. #define HA_RELEASE               12     /* 000 Release function      */
  118.                                         /* number.                   */
  119.  
  120.  
  121. #define HA_COPY_OIA              13     /* 000 Copy OIA function     */
  122.                                         /* number.                   */
  123.  
  124. #define HA_QUERY_FIELD_ATTR      14     /* 000 Query Field           */
  125.                                         /* Attribute function        */
  126.                                         /* number.                   */
  127.  
  128. #define HA_COPY_STR_TO_PS        15     /* 000 Copy string to PS     */
  129.                                         /* function number.          */
  130.  
  131. #define HA_STORAGE_MGR           17     /* 000 Storage Manager       */
  132.                                         /* function number.          */
  133.  
  134. #define HA_PAUSE                 18     /* 000 Pause function        */
  135.                                         /* number.                   */
  136.  
  137. #define HA_QUERY_SYSTEM          20     /* 000 Query System          */
  138.                                         /* function number.          */
  139.  
  140. #define HA_RESET_SYSTEM          21     /* 000 Reset System          */
  141.                                         /* function number.          */
  142.  
  143. #define HA_QUERY_SESSION_STATUS  22     /* 000 Query Session         */
  144.                                         /* Status function           */
  145.                                         /* number.                   */
  146.  
  147. #define HA_START_HOST_NOTIFY     23     /* 000 Start Host            */
  148.                                         /* Notification function     */
  149.                                         /* number.                   */
  150.  
  151. #define HA_QUERY_HOST_UPDATE     24     /* 000 Query Host Update     */
  152.                                         /* function number.          */
  153.  
  154. #define HA_STOP_HOST_NOTIFY      25     /* 000 Stop Host             */
  155.                                         /* Notification function     */
  156.                                         /* number.                   */
  157.  
  158. #define HA_SEARCH_FIELD          30     /* 000 Search Field          */
  159.                                         /* function number.          */
  160.  
  161. #define HA_FIND_FIELD_POS        31     /* 000 Find Field Length     */
  162.                                         /* function number.          */
  163.  
  164. #define HA_FIND_FIELD_LEN        32     /* 000 Find Field            */
  165.                                         /* Position function         */
  166.                                         /* number.                   */
  167.  
  168. #define HA_COPY_STR_TO_FIELD     33     /* 000 Copy String to        */
  169.                                         /* Field function number.    */
  170.  
  171. #define HA_COPY_FIELD_TO_STR     34     /* 000 Copy Field to         */
  172.                                         /* String function           */
  173.                                         /* number.                   */
  174.  
  175. #define HA_SET_CURSOR            40     /* 000 Set Cursor            */
  176.                                         /* function number.          */
  177.  
  178. #define HA_START_CLOSE_INTERCEPT 41     /* 000 Start Close Intercept */
  179.                                         /* function number.          */
  180.  
  181. #define HA_QUERY_CLOSE_INTERCEPT 42     /* 000 Query Close Intercept */
  182.                                         /* function number.          */
  183.  
  184. #define HA_STOP_CLOSE_INTERCEPT  43     /* 000 Stop Close Intercept  */
  185.                                         /* function number.          */
  186.  
  187. #define HA_START_KEY_INTERCEPT   50     /* 000 Start Keystroke       */
  188.                                         /* Intercept function        */
  189.                                         /* number.                   */
  190.  
  191. #define HA_GET_KEY               51     /* 000 Get Key function      */
  192.                                         /* number.                   */
  193.  
  194. #define HA_POST_INTERCEPT_STATUS 52     /* 000 Post Intercept        */
  195.                                         /* Status function           */
  196.                                         /* number.                   */
  197.  
  198. #define HA_STOP_KEY_INTERCEPT    53     /* 000 Stop Keystroke        */
  199.                                         /* Intercept function        */
  200.                                         /* number.                   */
  201.  
  202. #define HA_LOCK_PS               60     /* 000 Lock Presentation     */
  203.                                         /* Space function            */
  204.                                         /* number.                   */
  205.  
  206. #define HA_LOCK_PMSVC            61     /* 000 Lock PM Window        */
  207.                                         /* Services function         */
  208.                                         /* number.                   */
  209.  
  210. #define HA_SEND_FILE             90     /* 000 Send File function    */
  211.                                         /* number.                   */
  212.  
  213. #define HA_RECEIVE_FILE          91     /* 000 Receive file          */
  214.                                         /* function number.          */
  215.  
  216. #define HA_CONVERT_POS_ROW_COL   99     /* 000 Convert Position      */
  217.                                         /* or Row Column function    */
  218.                                         /* number.                   */
  219.  
  220. #define HA_CONNECT_PM_SRVCS     101     /* 000 Connect For           */
  221.                                         /* Presentation Manager      */
  222.                                         /* Window Services function  */
  223.                                         /* number                    */
  224.  
  225. #define HA_DISCONNECT_PM_SRVCS  102     /* 000 Disconnect From       */
  226.                                         /* Presentation Manager      */
  227.                                         /* Window Services function  */
  228.                                         /* number                    */
  229.  
  230. #define HA_QUERY_WINDOW_COORDS  103     /* 000 Query Presentation    */
  231.                                         /* Manager Window            */
  232.                                         /* Coordinates function      */
  233.                                         /* number                    */
  234.  
  235. #define HA_PM_WINDOW_STATUS     104     /* 000 PM Window Status      */
  236.                                         /* function number           */
  237.  
  238. #define HA_CHANGE_SWITCH_NAME   105     /* 000 Change Switch List    */
  239.                                         /* Logical Terminal name     */
  240.                                         /* function number           */
  241.  
  242. #define HA_CHANGE_WINDOW_NAME   106     /* 000 Change PS Window      */
  243.                                         /* Name function number      */
  244.  
  245. #define HA_CONTROL_SWITCH_ENTRY 107     /* 000 Control Switch List   */
  246.                                         /* Logical Terminal Entry    */
  247.                                         /* function number           */
  248.  
  249. #define HA_START_STRUCTURED_FLD 120     /* 000 Start Structured      */
  250.                                         /* Field function number     */
  251.  
  252. #define HA_STOP_STRUCTURED_FLD  121     /* 000 Stop Structured       */
  253.                                         /* Field function number     */
  254.  
  255. #define HA_QUERY_BUFFER_SIZE    122     /* 000 Query Communications  */
  256.                                         /* Buffer Size function      */
  257.                                         /* number                    */
  258.  
  259. #define HA_ALLOCATE_COMMO_BUFF  123     /* 000 Allocate              */
  260.                                         /* Communications Buffer     */
  261.                                         /* function number           */
  262.  
  263. #define HA_FREE_COMMO_BUFF      124     /* 000 Free Communications   */
  264.                                         /* Buffer function number    */
  265.  
  266. #define HA_GET_ASYNC_COMPLETION 125     /* 000 Get Asynchronous      */
  267.                                         /* Completion Request        */
  268.                                         /* function                  */
  269.  
  270. #define HA_READ_STRUCTURED_FLD  126     /* 000 Read Structured Field */
  271.                                         /* function number           */
  272.  
  273. #define HA_WRITE_STRUCTURED_FLD 127     /* 000 Write Structured      */
  274.                                         /* Field function number     */
  275.  
  276.  
  277. /*********************************************************************/
  278. /******************** EHLLAPI RETURN CODES ***************************/
  279. /*********************************************************************/
  280.  
  281.  
  282. #define HARC_SUCCESS               0    /* 000 Good return code.     */
  283.  
  284. #define HARC99_INVALID_INP         0    /* 000 Incorrect input       */
  285.                                         /* for Convert Position      */
  286.                                         /* or RowCol(99).            */
  287.  
  288. #define HARC_INVALID_PS            1    /* 000 Invalid PS, Not       */
  289.                                         /* connected return code.    */
  290.  
  291. #define HARC_BAD_PARM              2    /* 000 Bad parameter, or     */
  292.                                         /* verb not supported        */
  293.                                         /* return code.              */
  294.  
  295. #define HARC_BUSY                  4    /* 000 PS is busy return     */
  296.                                         /* code.                     */
  297.  
  298. #define HARC_LOCKED                5    /* 000 PS is LOCKed, or      */
  299.                                         /* invalid keystroke         */
  300.                                         /* return code.              */
  301.  
  302. #define HARC_TRUNCATION            6    /* 000 Truncation            */
  303.                                         /* occured, or invalid       */
  304.                                         /* length return code.       */
  305.  
  306. #define HARC_INVALID_PS_POS        7    /* 000 Invalid PS            */
  307.                                         /* position return code.     */
  308.  
  309. #define HARC_NO_PRIOR_START        8    /* 000 No prior start        */
  310.                                         /* keystroke int. or host    */
  311.                                         /* notify return code.       */
  312.  
  313. #define HARC_SYSTEM_ERROR          9    /* 000 A system error        */
  314.                                         /* occured return code.      */
  315.  
  316. #define HARC_UNSUPPORTED           10   /* 000 Invalid or            */
  317.                                         /* unsupported function      */
  318.                                         /* number return code.       */
  319.  
  320. #define HARC_UNAVAILABLE           11   /* 000 Resource is           */
  321.                                         /* unavalible at this        */
  322.                                         /* time return code.         */
  323.  
  324. #define HARC_SESSION_STOPPED       12   /* 000 Session has           */
  325.                                         /* been stopped              */
  326.  
  327. #define HARC_BAD_MNEMONIC          20   /* 000 Illegal mnemonic      */
  328.                                         /* return code.              */
  329.  
  330. #define HARC_OIA_UPDATE            21   /* 000 A OIA update          */
  331.                                         /* occurred return code.     */
  332.  
  333. #define HARC_PS_UPDATE             22   /* 000 A PS update           */
  334.                                         /* occurred return code.     */
  335.  
  336. #define HARC_PS_AND_OIA_UPDATE     23   /* A PS and OIA update       */
  337.                                         /* occurred return code.     */
  338.  
  339. #define HARC_STR_NOT_FOUND_UNFM_PS 24   /* 000 String not found,     */
  340.                                         /* or Unformated PS          */
  341.                                         /* return code.              */
  342.  
  343. #define HARC_NO_KEYS_AVAIL         25   /* 000 No keys available     */
  344.                                         /* return code.              */
  345.  
  346. #define HARC_HOST_UPDATE           26   /* 000 A HOST update         */
  347.                                         /* occurred return code.     */
  348.  
  349. #define HARC_FIELD_LEN_ZERO        28   /* 000 Field length = 0      */
  350.                                         /* return code.              */
  351.  
  352. #define HARC_QUEUE_OVERFLOW        31   /* 000 Keystroke queue       */
  353.                                         /* overflow return code.     */
  354.  
  355. #define HARC_ANOTHER_CONNECTION    32   /* 000 Successful. Another   */
  356.                                         /* Structured Field          */
  357.                                         /* connection to this        */
  358.                                         /* session concurrently      */
  359.                                         /* exists.                   */
  360.  
  361. #define HARC_INBOUND_CANCELLED     34   /* 000 Inbound structured    */
  362.                                         /* field cancelled.          */
  363.  
  364. #define HARC_OUTBOUND_CANCELLED    35   /* 000 Outbound structured   */
  365.                                         /* field cancelled.          */
  366.  
  367. #define HARC_CONTACT_LOST          36   /* 000 Contact with the      */
  368.                                         /* Host was lost.            */
  369.  
  370. #define HARC_INBOUND_DISABLED      37   /* 000 Host structured field */
  371.                                         /* state is inbound disabled.*/
  372.  
  373. #define HARC_FUNCTION_INCOMPLETE   38   /* 000 Requested Asynchronous*/
  374.                                         /* function has not completed*/
  375.  
  376. #define HARC_DDM_ALREADY_EXISTS    39   /* 000 Request for DDM       */
  377.                                         /* structured field connect  */
  378.                                         /* failed because another    */
  379.                                         /* DDM connection to this    */
  380.                                         /* session already exists.   */
  381.  
  382. #define HARC_ASYNC_REQUESTS_OUT    40   /* 000 Disconnect successful.*/
  383.                                         /* Pending asynchronous      */
  384.                                         /* requests pending.         */
  385.  
  386. #define HARC_MEMORY_IN_USE         41   /* 000 Memory cannot be freed*/
  387.                                         /* because it is in use.     */
  388.  
  389. #define HARC_NO_MATCH              42   /* 000 No pending            */
  390.                                         /* asynchronous request meet */
  391.                                         /* supplied criterion.       */
  392.  
  393. #define HARC_OPTION_INVALID        43   /* 000 Option requested is   */
  394.                                         /* invalid at this time.     */
  395.  
  396. #define HARC99_INVALID_PS        9998   /* 000 An invalid PS id      */
  397.                                         /* was specified, or PS      */
  398.                                         /* was never connected, or   */
  399.                                         /* System Error occured      */
  400.                                         /* for Convert Position      */
  401.                                         /* or RowCol(99).            */
  402.  
  403. #define HARC99_INVALID_CONV_OPT  9999   /* 000 Invalid convert       */
  404.                                         /* option was specified.     */
  405.                                         /* for Convert Position      */
  406.                                         /* or RowCol(99).            */
  407.  
  408. /*********************************************************************/
  409. /******************* EHLLAPI FUNCTION STRUCTURES *********************/
  410. /*********************************************************************/
  411.  
  412.  
  413. /*********************************************************************/
  414. /*                     Query Sessions (10)                           */
  415. /*********************************************************************/
  416. struct qses_struct
  417.                                         /* structure                 */
  418. {
  419.   unsigned char qses_shortname;         /* 000 Session Shortname     */
  420.   unsigned char qses_longname╒8■;       /* 000 Session Longname      */
  421.   unsigned char qses_sestype;           /* 000 Session Type          */
  422.   unsigned short int qses_pssize;       /* 000 Presentation Space    */
  423.                                         /* Size.                     */
  424. }
  425. ;                                       /* 000                       */
  426.  
  427.  
  428.  
  429. /*********************************************************************/
  430. /*                         Copy OIA (13)                             */
  431. /*********************************************************************/
  432.  
  433. struct coia_struct
  434. {
  435.   unsigned char coia_format;            /* 000 The OIA Format        */
  436.                                         /* Byte for the 3270 PC.     */
  437.  
  438.   unsigned char coia_image╒80■;         /* 000 The OIA image         */
  439.  
  440.   unsigned char coia_group╒22■;         /* 000 The OIA group         */
  441. }
  442. ;                                       /* 000                       */
  443.  
  444.  
  445. /*********************************************************************/
  446. /*                     Storage Manager (17)                          */
  447. /*********************************************************************/
  448.  
  449. struct stor_struct
  450.                                         /* structure.                */
  451. {
  452.   unsigned char PTR16 stor_ptr;         /* 000 4 byte pointer to CS2C*/
  453.                                         /* memory.                   */
  454. }
  455. ;                                       /* 000                       */
  456.  
  457.  
  458.  
  459. /*********************************************************************/
  460. /*                     Query System (20)                             */
  461. /*********************************************************************/
  462.  
  463. struct qsys_struct
  464.                                         /* structure                 */
  465. {
  466.   unsigned char qsys_hllapi_ver;        /* 000 Ehllapi version       */
  467.   unsigned char qsys_hllapi_lvl╒2■;     /* 000 Ehllapi level         */
  468.   unsigned char qsys_hllapi_date╒6■;    /* 000 Ehllapi release       */
  469.                                         /* date                      */
  470.   unsigned char qsys_lim_ver;           /* 000 LIM version           */
  471.   unsigned char qsys_lim_lvl╒2■;        /* 000 LIM level             */
  472.   unsigned char qsys_hardware_base;     /* 000 Hardware base         */
  473.   unsigned char qsys_ctrl_prog_type;    /* 000 Control program       */
  474.                                         /* type                      */
  475.   unsigned char qsys_seq_num╒2■;        /* 000 Sequence number       */
  476.   unsigned char qsys_ctrl_prog_ver╒2■;  /* 000 Control program       */
  477.                                         /* version                   */
  478.   unsigned char qsys_pc_sname;          /* 000 Base pc session       */
  479.                                         /* name                      */
  480.   unsigned char qsys_err1╒4■;           /* 000 System error words    */
  481.                                         /* and 2                     */
  482.   unsigned char qsys_err2╒4■;           /* 000 System error words    */
  483.                                         /* and 4                     */
  484.   unsigned char qsys_sys_model;         /* 000 System model          */
  485.   unsigned char qsys_sys_submodel;      /* 000 System submodel       */
  486.   unsigned short qsys_pc_nls;           /* 000 Pc code page          */
  487.   unsigned char qsys_monitor_type;      /* 000 Monitor type          */
  488.   unsigned char qsys_reserved╒3■;       /* 000 RESERVED              */
  489. }
  490. ;                                       /* 000                       */
  491.  
  492.  
  493.  
  494. /*********************************************************************/
  495. /*                     Query Session Status (22)                     */
  496. /*********************************************************************/
  497.  
  498. struct qsst_struct                      /* 000 Query Session         */
  499.                                         /* Status structure          */
  500. {
  501.   unsigned char qsst_shortname;         /* 000 Session shortname     */
  502.   unsigned char qsst_longname╒8■;       /* 000 Session longname      */
  503.   unsigned char qsst_sestype;           /* 000 Session type          */
  504.   unsigned char qsst_char;              /* 000 Session               */
  505.                                         /* characteristics           */
  506.   unsigned short int qsst_ps_rows;      /* 000 Number of rows in     */
  507.                                         /* presentation space        */
  508.   unsigned short int qsst_ps_cols;      /* 000 Number of columns     */
  509.                                         /* in presentation space     */
  510.   unsigned short int qsst_host_nls;     /* 000 Host code page        */
  511.   unsigned char qsst_reserv18;          /* 000 Reserved byte         */
  512. }
  513. ;                                       /* 000                       */
  514.  
  515.  
  516. /*********************************************************************/
  517. /*                     Start Host Notification (23)                  */
  518. /*********************************************************************/
  519.  
  520. struct sthn_struct                      /* 000 Start Host            */
  521.                                         /* Notification              */
  522.                                         /* structure.                */
  523. {
  524.   unsigned char sthn_shortname;         /* 000 Session Shortname     */
  525.   unsigned char sthn_event_opt;         /* 000 Update event          */
  526.                                         /* option                    */
  527.   unsigned char PTR16 sthn_asem;        /* 000 4 byte pointer to CS2C*/
  528.   unsigned char sthn_aevent_opt;        /* 000 Async update event    */
  529.                                         /* option                    */
  530. }
  531. ;                                       /* 000                       */
  532.  
  533.  
  534.  
  535.  
  536. /*********************************************************************/
  537. /*                     Start Close Click Intercept (41)              */
  538. /*********************************************************************/
  539.  
  540. struct stci_struct
  541. {
  542.   unsigned char stci_shortname;         /* 000 Session Shortname     */
  543.   unsigned char PTR16 stci_asem;        /* 000 4 byte pointer to CS2C*/
  544.                                         /* 000 Async semaphore       */
  545. }
  546. ;
  547.  
  548.  
  549. /*********************************************************************/
  550. /*                     Query Close Click Intercept (42)              */
  551. /*********************************************************************/
  552.  
  553. struct qyci_struct
  554. {
  555.   unsigned char qyci_shortname;         /* 000 Session Shortname     */
  556. }
  557. ;
  558.  
  559. /*********************************************************************/
  560. /*                     Stop  Close Click Intercept (43)              */
  561. /*********************************************************************/
  562.  
  563. struct spci_struct
  564. {
  565.   unsigned char spci_shortname;         /* 000 Session Shortname     */
  566. }
  567. ;
  568.  
  569. /*********************************************************************/
  570. /*                     Start Keystroke Intercept (50)                */
  571. /*********************************************************************/
  572.  
  573. struct stki_struct                      /* 000 Start Keystroke       */
  574.                                         /* Intercept structure       */
  575. {
  576.   unsigned char stki_shortname;         /* 000 Session Shortname     */
  577.   unsigned char stki_keytyp_opt;        /* 000 Type of keys to       */
  578.                                         /* intercept                 */
  579. }
  580. ;                                       /* 000                       */
  581.  
  582.  
  583.  
  584. /*********************************************************************/
  585. /*                     Get Key (51)                                  */
  586. /*********************************************************************/
  587.  
  588. struct gkey_struct                      /* 000 Get Key structure.    */
  589. {
  590.   unsigned char gkey_shortname;         /* 000 Session Shortname     */
  591.   unsigned char gkey_keytype;           /* 000 Type of key           */
  592.                                         /* intercepted               */
  593.   unsigned char gkey_key╒6■;            /* 000 Ascii or ascii        */
  594.                                         /* mnemonic                  */
  595. }
  596. ;                                       /* 000                       */
  597.  
  598.  
  599.  
  600. /*********************************************************************/
  601. /*                     Post Intercept Status (52)                    */
  602. /*********************************************************************/
  603.  
  604. struct pist_struct                      /* 000 Post Intercept        */
  605.                                         /* Status structure          */
  606. {
  607.   unsigned char pist_shortname;         /* 000 Session Shortname     */
  608.   unsigned char pist_post_opt;          /* 000 Key accepted or       */
  609.                                         /* rejected                  */
  610. }
  611. ;                                       /* 000                       */
  612.  
  613.  
  614.  
  615.  
  616. /*********************************************************************/
  617. /*                     Convert Position or Row Column (99)           */
  618. /*********************************************************************/
  619.  
  620. struct cvrc_struct                      /* 000 Convert Position      */
  621.                                         /* or Row Column             */
  622.                                         /* structure                 */
  623. {
  624.   unsigned char cvrc_shortname;         /* 000 Session Shortname     */
  625.   unsigned char cvrc_opt;               /* 000 Convert option        */
  626. }
  627. ;                                       /* 000                       */
  628.  
  629.  
  630.  
  631. /*********************************************************************/
  632. /*                     Connect for PM Services (101)                 */
  633. /*********************************************************************/
  634.  
  635. struct stpm_struct                      /* 000 Connect For           */
  636.                                         /* Presentation Manager      */
  637.                                         /* Services structure        */
  638. {
  639.   unsigned char stpm_shortname;         /* 000 Session Shortname     */
  640. }
  641. ;
  642.  
  643. /*********************************************************************/
  644. /*                     Disconnect from PM Services (102)             */
  645. /*********************************************************************/
  646.  
  647. struct sppm_struct                      /* 000 Disconnect From       */
  648.                                         /* Presentation Manager      */
  649.                                         /* Services structure        */
  650. {
  651.   unsigned char sppm_shortname;         /* 000 Session Shortname     */
  652. }
  653. ;
  654.  
  655. /*********************************************************************/
  656. /*                       Query PM Window Coordinates (103)           */
  657. /*********************************************************************/
  658.  
  659. struct gcor_struct                      /* 000 Query PM Window       */
  660.                                         /* Coordinates structure     */
  661. {
  662.   unsigned char gcor_shortname;         /* 000 Session Shortname     */
  663.   unsigned long int gcor_xLeft;         /* 000 Left X coordinate     */
  664.   unsigned long int gcor_yBottom;       /* 000 Bottom Y coordinate   */
  665.   unsigned long int gcor_xRight;        /* 000 Right X coordinate    */
  666.   unsigned long int gcor_yTop;          /* 000 Top Y coordinate      */
  667. }
  668. ;
  669.  
  670. /*********************************************************************/
  671. /*                       PM Window Status (104)                      */
  672. /*********************************************************************/
  673.  
  674. struct cwin_struct                      /* 000 PM Window Status      */
  675.                                         /* structure                 */
  676. {
  677.   unsigned char cwin_shortname;         /* 000 Session Shortname     */
  678.   unsigned char cwin_option;            /* 000 Set/Query option      */
  679.   unsigned short int cwin_flags;        /* 000 Window flags          */
  680.   short int cwin_xpos;                  /* 000 X coordinate position */
  681.   short int cwin_ypos;                  /* 000 Y coordinate position */
  682.   short int cwin_xsize;                 /* 000 X axis window size    */
  683.   short int cwin_ysize;                 /* 000 Y axis window size    */
  684.   unsigned long int cwin_behind;        /* 000 Relative Window       */
  685.                                         /*     placement             */
  686. }
  687. ;
  688.  
  689.  
  690. /*********************************************************************/
  691. /*                Change Switch List Name (105)                      */
  692. /*********************************************************************/
  693.  
  694. struct chsw_struct                      /* 000 Change Switch List    */
  695.                                         /* Name structure            */
  696. {
  697.   unsigned char chsw_shortname;         /* 000 Session Shortname     */
  698.   unsigned char chsw_option;            /* 000 Set/Reset option      */
  699.   unsigned char chsw_swname╒61■;        /* 000 Switch List name      */
  700.  
  701. }
  702. ;
  703.  
  704. /*********************************************************************/
  705. /*                Change LT Window Name (106)                        */
  706. /*********************************************************************/
  707.  
  708. struct chlt_struct                      /* 000 Change LT Window      */
  709. {                                       /* Name structure            */
  710.  
  711.   unsigned char chlt_shortname;         /* 000 Session Shortname     */
  712.   unsigned char chlt_option;            /* 000 Set/Reset option      */
  713.   unsigned char chlt_ltname╒61■;        /* 000 LT Window Name        */
  714. }
  715. ;
  716.  
  717.  
  718. /*********************************************************************/
  719. /*                Control Switch List Entry        (107)             */
  720. /*********************************************************************/
  721.  
  722. typedef struct ctsw_struct
  723. {
  724.   unsigned char ctsw_shortname;         /* 000 Session Shortname     */
  725.   unsigned char ctsw_option;            /* 000 Create/Delete options */
  726.   unsigned char ctsw_swname╒61■;        /* 000 Switch list text      */
  727. }
  728. ;
  729.  
  730. /*********************************************************************/
  731. /*                Start Structured Field           (120)             */
  732. /*********************************************************************/
  733.  
  734. typedef struct stsf_struct
  735. {
  736.   unsigned char stsf_shortname;         /* 000 Session Shortname     */
  737.   unsigned char PTR16 stsf_query;       /* 000 4 byte pointer to CS2C*/
  738.                                         /* 000 Query reply           */
  739.   unsigned short int stsf_doid;         /* 000 Destination/Orgin id  */
  740.   unsigned char PTR16 stsf_asem;        /* 000 4 byte pointer to CS2C*/
  741.                                         /* 000 notification semaphore*/
  742. }
  743. ;
  744.  
  745. /*********************************************************************/
  746. /*                Stop  Structured Field           (121)             */
  747. /*********************************************************************/
  748.  
  749. typedef struct spsf_struct
  750. {
  751.   unsigned char spsf_shortname;         /* 000 Session Shortname     */
  752.   unsigned short int spsf_doid;         /* 000 Destination/Orgin id  */
  753. }
  754. ;
  755.  
  756. /*********************************************************************/
  757. /*                Query Communications buffer sizes(122)             */
  758. /*********************************************************************/
  759.  
  760. typedef struct qbuf_struct
  761. {
  762.   unsigned char qbuf_shortname;         /* 000 Session Shortname     */
  763.   unsigned short int qbuf_opt_inbound;  /* 000 Optimal inbound buffer*/
  764.                                         /* 000 length                */
  765.   unsigned short int qbuf_max_inbound;  /* 000 Maximum inbound buffer*/
  766.                                         /* 000 length                */
  767.   unsigned short int qbuf_opt_outbound; /* 000 Optiomal outbound     */
  768.                                         /* 000 buffer length         */
  769.   unsigned short int qbuf_max_outbound; /* 000 Maximum outbound      */
  770.                                         /* 000 buffer length         */
  771. }
  772. ;
  773.  
  774. /*********************************************************************/
  775. /*                Allocate communications buffer   (123)             */
  776. /*********************************************************************/
  777.  
  778. typedef struct abuf_struct
  779. {
  780.   unsigned short int abuf_length;       /* 000 request buffer length */
  781.   unsigned char PTR16 abuf_address;     /* 000 4 byte pointer to CS2C*/
  782.                                         /* 000 return buffer address */
  783. }
  784. ;
  785.  
  786. /*********************************************************************/
  787. /*                Free communications buffer       (124)             */
  788. /*********************************************************************/
  789.  
  790. typedef struct fbuf_struct
  791. {
  792.   unsigned short int fbuf_length;       /* 000 buffer length to free */
  793.   unsigned char PTR16 fbuf_address;     /* 000 4 byte buffer addrCS2C*/
  794. }
  795. ;
  796.  
  797.  
  798. /*********************************************************************/
  799. /*                Get Async Request completion     (125)             */
  800. /*********************************************************************/
  801.  
  802. typedef struct gcmp_struct
  803. {
  804.   unsigned char gcmp_shortname;         /* 000 Session Shortname     */
  805.   unsigned char gcmp_option;            /* 000 Wait option           */
  806.   unsigned short int gcmp_requestid;    /* 000 request id            */
  807.   unsigned short int gcmp_ret_functid;  /* 000 returned function id  */
  808.   unsigned char PTR16 gcmp_ret_datastr; /* 000 4 byte pointer to CS2C*/
  809.                                         /* 000 returned datastring   */
  810.   unsigned short int gcmp_ret_length;   /* 000 returned length       */
  811.   unsigned short int gcmp_ret_retcode;  /* 000 returned return code  */
  812. }
  813. ;
  814.  
  815.  
  816. /*********************************************************************/
  817. /*                Read  Structured Field            (126)            */
  818. /*********************************************************************/
  819.  
  820. typedef struct rdsf_struct
  821. {
  822.   unsigned char rdsf_shortname;         /* 000 Session Shortname     */
  823.   unsigned char rdsf_option;            /* 000 Wait option           */
  824.   unsigned short int rdsf_doid;         /* 000 destination/orgin id  */
  825.   unsigned char PTR16 rdsf_buffer;      /* 000 4 byte pointer to CS2C*/
  826.                                         /* 000 read buffer           */
  827.   unsigned short int rdsf_requestid;    /* 000 request id            */
  828.   unsigned char PTR16 rdsf_asem;        /* 000 4 byte pointer to CS2C*/
  829.                                         /* 000 notification semaphore*/
  830. }
  831. ;
  832.  
  833.  
  834. /*********************************************************************/
  835. /*               Write Structured Field            (127)             */
  836. /*********************************************************************/
  837.  
  838. typedef struct wrsf_struct
  839. {
  840.   unsigned char wrsf_shortname;         /* 000 Session Shortname     */
  841.   unsigned char wrsf_option;            /* 000 Wait option           */
  842.   unsigned short int wrsf_doid;         /* 000 destination/orgin id  */
  843.   unsigned char PTR16 wrsf_buffer;      /* 000 4 byte pointer to CS2C*/
  844.                                         /* 000 write buffer          */
  845.   unsigned short int wrsf_requestid;    /* 000 request id            */
  846.   unsigned char PTR16 wrsf_asem;        /* 000 4 byte pointer to CS2C*/
  847.                                         /* 000 notification semaphore*/
  848. }
  849. ;
  850.  
  851. /*ENDCODE                                                            */
  852.