home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pc3270sa.zip / uuccpr16.h < prev    next >
Text File  |  2002-02-28  |  7KB  |  116 lines

  1. /*****************************************************************************/
  2. /*                                                                           */
  3. /*  Module Name     : UUCCPR16.H                                             */
  4. /*                                                                           */
  5. /*  Description     : 16-bit CPRB Structure, Return Codes and Routines       */
  6. /*                                                                           */
  7. /*  Copyright Notice: IBM Personal Communication/3270 Version 4.1            */
  8. /*                    (C) COPYRIGHT IBM CORP. 1989,1996 - PROGRAM PROPERTY   */
  9. /*                    OF IBM ALL RIGHTS RESERVED                             */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12. /*---------------------------------------------------------------------------*/
  13. /*  CPRB Structure                                                           */
  14. /*---------------------------------------------------------------------------*/
  15. #ifdef __cplusplus                     /* C++ compiler                       */
  16.   extern "C" {
  17. #endif
  18.  
  19. typedef
  20. struct
  21. {
  22.   char           far * uerserver;     /* ascii name of server                */
  23.   unsigned short       uerfunct;      /* function id                         */
  24.  
  25.   unsigned short       uerqparml;     /* request parameters length           */
  26.   char           far * uerqparmad;    /* request parameters address          */
  27.   unsigned short       uerqdatal;     /* request data length                 */
  28.   char           far * uerqdataad;    /* request data address                */
  29.  
  30.   unsigned short       uerrparml;     /* reply parameters length             */
  31.   char           far * uerrparmad;    /* reply parameters address            */
  32.   unsigned short       uerrdatal;     /* reply data length                   */
  33.   char           far * uerrdataad;    /* reply data address                  */
  34.  
  35.   unsigned long        uerretcode;    /* return code                         */
  36.   unsigned long        uerservrc;     /* server return code                  */
  37.   unsigned short       uerrepldplen;  /* replied paramters length            */
  38.   unsigned short       uerreplddlen;  /* replied data data length            */
  39.  
  40.   unsigned char        uer3270ind;    /* 3270 screen update notify           */
  41.  
  42.   char                 uerrsvd1[149]; /* reserved field                      */
  43.  
  44. } UERCPRB;
  45.  
  46. /*---------------------------------------------------------------------------*/
  47. /*  Parameters for 3270 screen update notify                                 */
  48. /*---------------------------------------------------------------------------*/
  49.  
  50. #define UER3270NOTIFY 0x00            /* notify user of 3270 screen update   */
  51. #define UER3270DISABL 0XFF            /* do not notify user of screen update */
  52.  
  53. /*---------------------------------------------------------------------------*/
  54. /*  Return Codes                                                             */
  55. /*---------------------------------------------------------------------------*/
  56.  
  57. #define UERERROK        0x00000000    /* successful                          */
  58.  
  59. /* Type 1 Errors */
  60.  
  61. #define UERERRT1START   0x01000402    /* not started                         */
  62. #define UERERRT1LOAD    0x01000404    /* not loaded                          */
  63. #define UERERRT1BUSY    0x01000408    /* busy (not used)                     */
  64. #define UERERRT1VER     0x0100040A    /* unsupported version id              */
  65. #define UERERRT1EMU     0x0100040C    /* emulator not loaded                 */
  66. #define UERERRT1ROUT    0x0100040E    /* undefined server name               */
  67. #define UERERRT1COMMR   0x01000410    /* resource not available              */
  68. #define UERERRT1REST    0x01000412    /* emulator restarted since last use   */
  69. #define UERERRT1INUSE   0x01000414    /* session in use by file transfer     */
  70. #define UERERRT1QPLEN   0x01000602    /* req. parm. length too large         */
  71. #define UERERRT1RPLEN   0x01000604    /* reply parm. length too large        */
  72. #define UERERRT1VERB    0x01000606    /* invalid verb type                   */
  73. #define UERERRT1SERV    0x01000608    /* invalid server name                 */
  74. #define UERERRT1QPAD    0x0100060C    /* invalid request parameters address  */
  75. #define UERERRT1QDAD    0x0100060E    /* invalid request data address        */
  76. #define UERERRT1RPAD    0x01000610    /* invalid reply parameters address    */
  77. #define UERERRT1RDAD    0x01000612    /* invalid reply data address          */
  78. #define UERERRT1TOPV    0x01000616    /* TOPVIEW not supported (not used)    */
  79. #define UERERRT1INV3270 0x01000622    /* invalid 3270 screen update notify   */
  80. #define UERERRT1INVCPRB 0x01000624    /* invalid CPRB segment                */
  81. #define UERERRT1CNCL    0x01000802    /* cancelled by host                   */
  82. #define UERERRT1CONV    0x01000C00    /* unable to maintain conversation     */
  83. #define UERERRT1ISE     0x01000C02    /* internal software error             */
  84. #define UERERRT1PROT    0x01000C04    /* protocol violation                  */
  85. #define UERERRT1SYIN    0x01000C06    /* system inconsistency                */
  86.  
  87. /* Type 3 Errors - Process Errors */
  88.  
  89. #define UERERRT3NORES   0x03041D00    /* host resource not available         */
  90. #define UERERRT3NOSER   0x03041E00    /* server unknown at host              */
  91. #define UERERRT3UNSER   0x03041F00    /* server not available at host        */
  92. #define UERERRT3TERMS   0x03042200    /* server ended normally, but no reply */
  93. #define UERERRT3ABNDS   0x03042300    /* server ended abnormally, no reply   */
  94.  
  95. /*  For type 2 and type 3 errors the most significant byte of the return     */
  96. /*  code is 0x02 and 0x03 respectively. The 3 remaining bytes are the        */
  97. /*  exception class, exception code, and exception object sent or received   */
  98. /*  in ackknowledge.                                                         */
  99.  
  100. #define UERERRT2        0x02          /* error type 2 - acknowledge sent     */
  101. #define UERERRT3        0x03          /* error type 3 - acknowledge received */
  102.  
  103. /*---------------------------------------------------------------------------*/
  104. /*  Interface Routines                                                       */
  105. /*---------------------------------------------------------------------------*/
  106.  
  107. #define ord_init_send_req_parms  102
  108. #define ord_send_request         103
  109.  
  110. extern void     far pascal init_send_req_parms(UERCPRB far *);
  111. extern long int far pascal send_request(UERCPRB far *);
  112.  
  113. #ifdef __cplusplus
  114.   }
  115. #endif
  116.