home *** CD-ROM | disk | FTP | other *** search
- /*
- * cqtransprt.h
- *
- * iRMX-NET/iNA 960/iTP4 Transport Layer CQ_COMM_RB Request Block Interface
- */
-
- #ifndef _cqtransprt_
- #define _cqtransprt_
-
- #ifndef _cqcommon_
- #include "cqcommon.h"
- #endif
-
- /*
- * Transport Layer Opcodes
- */
-
- /* VC Commands */
-
- #define OPEN (unsigned char)0
- #define SEND_CONNECT_REQUEST (unsigned char)1
- #define AWAIT_CONNECT_REQUEST_TRAN (unsigned char)2
- #define AWAIT_CONNECT_REQUEST_CLIENT (unsigned char)3
- #define ACCEPT_CONNECT_REQUEST (unsigned char)4
- #define SEND_DATA (unsigned char)5
- #define SEND_EOM_DATA (unsigned char)6
- #define RECEIVE_DATA (unsigned char)7
- #define WITHDRAW_RECEIVE_BUFFER (unsigned char)8
- #define SEND_EXPEDITED_DATA (unsigned char)9
- #define RECEIVE_EXPEDITED_DATA (unsigned char)10
- #define WITHDRAW_EXPEDITED_BUFFER (unsigned char)11
- #define RECEIVE_ANY (unsigned char)22
- #define CLOSE (unsigned char)12
- #define AWAIT_CLOSE (unsigned char)13
- #define STATUS (unsigned char)14
-
- /* Datagram Commands */
-
- #define SEND_DATAGRAM (unsigned char)17
- #define RECEIVE_DATAGRAM (unsigned char)18
- #define WITHDRAW_DATAGRAM_RECEIVE_BUFFER (unsigned char)19
-
- /*
- * Transport Layer Response Codes
- */
- #ifndef OK_RESPONSE
- #define OK_RESPONSE (unsigned short)0x01
- #endif
- #define OK_EOM_RESP (unsigned short)0x03
- #define NO_RESOURCES (unsigned short)0x04
- #define OK_DECIDE_REQ_RESP (unsigned short)0x05
- #define UNKNOWN_REFERENCE (unsigned short)0x06
- #define OK_CLOSED_RESP (unsigned short)0x07
- #define BUFFER_TOO_SHORT (unsigned short)0x08
- #define OK_WITHDRAW_RESP (unsigned short)0x09
- #define BUFFER_TOO_LONG (unsigned short)0x0A
- #define OK_REJECT_CONN_RESP (unsigned short)0x0B
- #define ILLEGAL_REQ (unsigned short)0x0C
- #define OK_CONN_REQ_RESP (unsigned short)0x0D
- #define REM_ABORT (unsigned short)0x0E
- #define LOC_TIMEOUT (unsigned short)0x10
- #define DUP_REQ (unsigned short)0x14
- #define CONN_REJECT (unsigned short)0x16
- #define NEGOT_FAILED (unsigned short)0x18
- #define ILLEGAL_ADDRESS (unsigned short)0x1A
- #define NETWORK_ERROR (unsigned short)0x1C
- #define BAD_REF_COUNT (unsigned short)0x24
-
- /*
- * ISO Reason Codes
- */
- #define NOT_SPECIFIED (unsigned short)0x00
- #define CONGESTION_AT_TSAP (unsigned short)0x01
- #define CLIENT_NOT_ATTACHED_TO_TSAP (unsigned short)0x02
- #define ADDRESS_UNKNOWN (unsigned short)0x03
- #define CLIENT_DISCONNECT (unsigned short)0x80
- #define CONNECT_REQ_TRANSPORT_CONGESTION (unsigned short)0x81
- #define CONNECTION_NEGOT_FAILURE (unsigned short)0x82
- #define DUPLICATE_CONNECTION (unsigned short)0x83
- #define MISMATCHED_REFS (unsigned short)0x84
- #define PROTOCOL_ERROR (unsigned short)0x85
- #define REFERENCE_OVERFLOW (unsigned short)0x87
- #define CONNECTION_REQ_REFUSED (unsigned short)0x88
- #define INVALID_LENGTH (unsigned short)0x8A
-
- /*
- * Transport Layer RB Structures.
- */
-
- #pragma noalign (open_rb)
- typedef struct open_rb {
- RB_COMMON header;
- unsigned short reference;
- } OPEN_RB;
-
- #pragma noalign (conn_req_rb)
- typedef struct conn_req_rb {
- RB_COMMON header;
- unsigned char iso_reason_code;
- unsigned char reserved[4];
- unsigned short ack_delay_estimate;
- unsigned int ta_buffer_addr;
- unsigned short persistence_count;
- unsigned short abort_timeout;
- unsigned short reference;
- unsigned char qos;
- unsigned short negot_options;
- unsigned int client_data_buf_addr;
- unsigned char client_data_len;
- } CONN_REQ_RB;
-
- #pragma noalign (data_block)
- typedef struct data_block {
- unsigned int address;
- unsigned short length;
- } DATA_BLOCK;
-
- #pragma noalign (vc_rb)
- typedef struct vc_rb {
- RB_COMMON header;
- unsigned char iso_reason_code;
- unsigned char reserved[15];
- unsigned short reference;
- unsigned char qos;
- unsigned short buf_len;
- unsigned char num_blks;
- DATA_BLOCK data_blk_list[1];
- } VC_RB;
-
- #pragma noalign (vc_ext_rb)
- typedef struct vc_ext_rb {
- RB_COMMON header;
- unsigned char iso_reason_code;
- unsigned char reserved[15];
- unsigned short reference;
- unsigned char qos;
- unsigned short buf_len;
- unsigned char num_blks;
- DATA_BLOCK block[1];
- unsigned short ref_list_count;
- unsigned int ref_list_ptr;
- } VC_EXT_RB;
-
- #pragma noalign (datagram_rb)
- typedef struct datagram_rb {
- RB_COMMON header;
- unsigned char reserved[4];
- unsigned int ta_buffer_addr;
- unsigned char qos;
- unsigned short buf_len;
- unsigned char num_blks;
- DATA_BLOCK data_blk_list[1];
- } DATAGRAM_RB;
-
- #endif
-