home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s038 / 10.ddi / 017.LIF / CQTRANSP.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-02  |  5.2 KB  |  156 lines

  1. /*
  2.  * cqtransprt.h
  3.  *
  4.  * iRMX-NET/iNA 960/iTP4 Transport Layer CQ_COMM_RB Request Block Interface
  5.  */
  6.  
  7. #ifndef _cqtransprt_
  8. #define _cqtransprt_
  9.  
  10. #ifndef _cqcommon_
  11. #include "cqcommon.h"
  12. #endif
  13.  
  14. /*
  15.  * Transport Layer Opcodes
  16.  */
  17.  
  18. /* VC Commands */
  19.  
  20. #define OPEN                         (unsigned char)0
  21. #define SEND_CONNECT_REQUEST         (unsigned char)1
  22. #define AWAIT_CONNECT_REQUEST_TRAN   (unsigned char)2
  23. #define AWAIT_CONNECT_REQUEST_CLIENT (unsigned char)3
  24. #define ACCEPT_CONNECT_REQUEST       (unsigned char)4
  25. #define SEND_DATA                    (unsigned char)5
  26. #define SEND_EOM_DATA                (unsigned char)6
  27. #define RECEIVE_DATA                 (unsigned char)7
  28. #define WITHDRAW_RECEIVE_BUFFER      (unsigned char)8
  29. #define SEND_EXPEDITED_DATA          (unsigned char)9
  30. #define RECEIVE_EXPEDITED_DATA       (unsigned char)10
  31. #define WITHDRAW_EXPEDITED_BUFFER    (unsigned char)11
  32. #define RECEIVE_ANY                  (unsigned char)22
  33. #define CLOSE                        (unsigned char)12
  34. #define AWAIT_CLOSE                  (unsigned char)13
  35. #define STATUS                       (unsigned char)14
  36.  
  37. /* Datagram Commands */
  38.  
  39. #define SEND_DATAGRAM                    (unsigned char)17
  40. #define RECEIVE_DATAGRAM                 (unsigned char)18
  41. #define WITHDRAW_DATAGRAM_RECEIVE_BUFFER (unsigned char)19
  42.  
  43. /*
  44.  * Transport Layer Response Codes
  45.  */
  46. #ifndef OK_RESPONSE
  47. #define OK_RESPONSE         (unsigned short)0x01
  48. #endif
  49. #define OK_EOM_RESP         (unsigned short)0x03
  50. #define NO_RESOURCES        (unsigned short)0x04
  51. #define OK_DECIDE_REQ_RESP  (unsigned short)0x05
  52. #define UNKNOWN_REFERENCE   (unsigned short)0x06
  53. #define OK_CLOSED_RESP      (unsigned short)0x07
  54. #define BUFFER_TOO_SHORT    (unsigned short)0x08
  55. #define OK_WITHDRAW_RESP    (unsigned short)0x09
  56. #define BUFFER_TOO_LONG     (unsigned short)0x0A
  57. #define OK_REJECT_CONN_RESP (unsigned short)0x0B
  58. #define ILLEGAL_REQ         (unsigned short)0x0C
  59. #define OK_CONN_REQ_RESP    (unsigned short)0x0D
  60. #define REM_ABORT           (unsigned short)0x0E
  61. #define LOC_TIMEOUT         (unsigned short)0x10
  62. #define DUP_REQ             (unsigned short)0x14
  63. #define CONN_REJECT         (unsigned short)0x16
  64. #define NEGOT_FAILED        (unsigned short)0x18
  65. #define ILLEGAL_ADDRESS     (unsigned short)0x1A
  66. #define NETWORK_ERROR       (unsigned short)0x1C
  67. #define BAD_REF_COUNT       (unsigned short)0x24
  68.  
  69. /*
  70.  * ISO Reason Codes
  71.  */
  72. #define NOT_SPECIFIED                    (unsigned short)0x00
  73. #define CONGESTION_AT_TSAP               (unsigned short)0x01
  74. #define CLIENT_NOT_ATTACHED_TO_TSAP      (unsigned short)0x02
  75. #define ADDRESS_UNKNOWN                  (unsigned short)0x03
  76. #define CLIENT_DISCONNECT                (unsigned short)0x80
  77. #define CONNECT_REQ_TRANSPORT_CONGESTION (unsigned short)0x81
  78. #define CONNECTION_NEGOT_FAILURE         (unsigned short)0x82
  79. #define DUPLICATE_CONNECTION             (unsigned short)0x83
  80. #define MISMATCHED_REFS                  (unsigned short)0x84
  81. #define PROTOCOL_ERROR                   (unsigned short)0x85
  82. #define REFERENCE_OVERFLOW               (unsigned short)0x87
  83. #define CONNECTION_REQ_REFUSED           (unsigned short)0x88
  84. #define INVALID_LENGTH                   (unsigned short)0x8A
  85.  
  86. /*
  87.  *  Transport Layer RB Structures.
  88.  */
  89.  
  90. #pragma noalign (open_rb)
  91. typedef struct open_rb {
  92.        RB_COMMON         header;
  93.        unsigned short    reference;
  94. } OPEN_RB;
  95.  
  96. #pragma noalign (conn_req_rb)
  97. typedef struct conn_req_rb {
  98.        RB_COMMON         header;
  99.        unsigned char     iso_reason_code;
  100.        unsigned char     reserved[4];
  101.        unsigned short    ack_delay_estimate;
  102.        unsigned int      ta_buffer_addr;
  103.        unsigned short    persistence_count;
  104.        unsigned short    abort_timeout;
  105.        unsigned short    reference;
  106.        unsigned char     qos;
  107.        unsigned short    negot_options;
  108.        unsigned int      client_data_buf_addr;
  109.        unsigned char     client_data_len;
  110. } CONN_REQ_RB;
  111.  
  112. #pragma noalign (data_block)
  113. typedef struct data_block {
  114.        unsigned int      address;
  115.        unsigned short    length;
  116. } DATA_BLOCK;
  117.  
  118. #pragma noalign (vc_rb)
  119. typedef struct vc_rb {
  120.        RB_COMMON         header;
  121.        unsigned char     iso_reason_code;
  122.        unsigned char     reserved[15];
  123.        unsigned short    reference;
  124.        unsigned char     qos;
  125.        unsigned short    buf_len;
  126.        unsigned char     num_blks;
  127.        DATA_BLOCK        data_blk_list[1];
  128. } VC_RB;
  129.  
  130. #pragma noalign (vc_ext_rb)
  131. typedef struct vc_ext_rb {
  132.        RB_COMMON         header;
  133.        unsigned char     iso_reason_code;
  134.        unsigned char     reserved[15];
  135.        unsigned short    reference;
  136.        unsigned char     qos;
  137.        unsigned short    buf_len;
  138.        unsigned char     num_blks;
  139.        DATA_BLOCK        block[1];
  140.        unsigned short    ref_list_count;
  141.        unsigned int      ref_list_ptr;
  142. } VC_EXT_RB;
  143.  
  144. #pragma noalign (datagram_rb)
  145. typedef struct datagram_rb {
  146.        RB_COMMON         header;
  147.        unsigned char     reserved[4];
  148.        unsigned int      ta_buffer_addr;
  149.        unsigned char     qos;
  150.        unsigned short    buf_len;
  151.        unsigned char     num_blks;
  152.        DATA_BLOCK        data_blk_list[1];
  153. } DATAGRAM_RB;
  154.  
  155. #endif
  156.