📄 tihdr.h
字号:
* the remote address is the protocol address of the remote transport entity. */struct T_addr_ack { t_scalar_t PRIM_type; /**< Always T_ADDR_ACK. */ t_scalar_t LOCADDR_length; /**< Length of local address - see not in sec. 1.4. */ t_scalar_t LOCADDR_offset; /**< Offset of local address. */ t_scalar_t REMADDR_length; /**< Length of remote address - see not in sec. 1.4. */ t_scalar_t REMADDR_offset; /**< Offset of remote address. */};/** @} *//** * @name Connection Oriented Transport Primitives * @{ *//** * T_CONN_REQ, M_PROTO. * * This primitive requests that the transport provider make a connection to * the specified destination. */struct T_conn_req { t_scalar_t PRIM_type; /**< Always T_CONN_REQ. */ t_scalar_t DEST_length; /**< Dest addr length. */ t_scalar_t DEST_offset; /**< Dest addr offset. */ t_scalar_t OPT_length; /**< Options length. */ t_scalar_t OPT_offset; /**< Options offset. */};/** * T_CONN_RES, M_PROTO (followed by 0 or more M_DATA). * * This primitive requests that the transport provider accept a previous * connect request on the specified response queue. */struct T_conn_res { t_scalar_t PRIM_type; /**< Always T_CONN_RES. */ t_scalar_t ACCEPTOR_id; /**< Reponse queue ptr. */ t_scalar_t OPT_length; /**< Options length. */ t_scalar_t OPT_offset; /**< Options offset. */ t_scalar_t SEQ_number; /**< Sequence number. */};/** * T_DISCON_REQ, M_PROTO (followed by 0 or more M_DATA). * * This primitive request that the transport provider deny a request for * connection, or disconnect an existing connection. */struct T_discon_req { t_scalar_t PRIM_type; /**< Always T_DISCON_REQ. */ t_scalar_t SEQ_number; /**< Sequence number. */};/** * T_DATA_REQ, (opt M_PROTO) (followed by 0 or more M_DATA). * * This primitive indicates to the transport provider that this message * contains a transport interface data unit. One or more transport interface * data units form a transport service data unit (TSDU)[11]. This primitive * has a mechanism which indicates the beginning and end of a transport * service data unit. However, not all transport providers support the * concept of a transport service data unit, as noted in section 2.1.2.1. */struct T_data_req { t_scalar_t PRIM_type; /**< Always T_DATA_REQ. */ t_scalar_t MORE_flag; /**< Indicates more data in TSDU. */};/** * T_EXDATA_REQ, M_PROTO (followed by 1 or more M_DATA). * * This primitive indicates to the transport provider that this message * contains an expedited transport interface data unit. One or more * expedited transport interface data units form an expedited transport * service data unit[12]. This primitive has a mechanism which indicates the * beginning and end of an expedited tansport service data unit. However, * not all transport providers support the concept of an expedited transport * service data unit, as noted in section 2.1.2.1. */struct T_exdata_req { t_scalar_t PRIM_type; /**< Always T_EXDATA_REQ. */ t_scalar_t MORE_flag;};/** * T_ORDREL_REQ, M_PROTO. * * This primitive indicates to the transport provider that the user is * finished sending data. This primitive is only supported by the transport * provider if it is of type T_COTS_ORD. */struct T_ordrel_req { t_scalar_t PRIM_type; /**< Always T_ORDREL_REQ. */};/** * T_CONN_IND, M_PROTO. * * This primnitive indicates to the transport user that a connect request to * the user has been made by the user at the specified source address. The */struct T_conn_ind { t_scalar_t PRIM_type; /**< Always T_CONN_IND. */ t_scalar_t SRC_length; /**< Source addr length = see note in sec. 1.4. */ t_scalar_t SRC_offset; /**< Source addr offset. */ t_scalar_t OPT_length; /**< Options length = see note in sec. 1.4. */ t_scalar_t OPT_offset; /**< Options offset. */ t_scalar_t SEQ_number; /**< Sequence number - see not in sec. 1.4. */};/** * T_CONN_CON, M_PROTO, (followed by 0 or more M_DATA). * * This primitive indicates to the user that a connect request has been * confirmed on the specified responding address. */struct T_conn_con { t_scalar_t PRIM_type; /**< T_CONN_CON. */ t_scalar_t RES_length; /**< Responding addr length - see note in sec. 1.4. */ t_scalar_t RES_offset; /**< Responding addr offset. */ t_scalar_t OPT_length; /**< Options length - see note in sec. 1.4. */ t_scalar_t OPT_offset; /**< Options offset. */};/** * T_DISCON_IND, M_PROTO (followed by 0 or more M_DATA). * * This primitive indicates to the user that either a request for connection * has been denied or and existing connection has been disconnected. */struct T_discon_ind { t_scalar_t PRIM_type; /**< T_DISCON_IND. */ t_scalar_t DISCON_reason; /**< Disconnect reason - see note in sec. 1.4. */ t_scalar_t SEQ_number; /**< Sequence number - see note in sec. 1.4. */};/** * T_DATA_IND, (opt M_PROTO) (followed by 0 or more M_DATA). * * This primitive indicates to the transport user that this message contains * a transport interface data unit. One or more transport interface data * units form a transport servie data unit. This primitive has a mechanism * which indicates the beginning and end of a transport service data unit. * However, not all transport provider support the concept of a transport * service data unit, as noted in section 2.1.2.1. */struct T_data_ind { t_scalar_t PRIM_type; /**< Always T_DATA_IND. */ t_scalar_t MORE_flag; /**< Indicates more data in TSDU. */};/** * T_EXDATA_IND, M_PROTO. * * This primitive indicates to the transport user that this message contains * an expedited transport interface data unit. One or more expedited * transport interface data units form an expedited transport service data * unit. This primitive has a mechanism which indicates the beginning and * end of an expedited transport service data unit. However, not all * transport providers support the concept of an expedited transport service * data unit, as noted in section 2.1.2.1. */struct T_exdata_ind { t_scalar_t PRIM_type; /**< Always T_EXDATA_IND. */ t_scalar_t MORE_flag; /**< Indicates more data in ETSDU. */};/** * T_ORDREL_IND, M_PROTO. * * This primitive indicates to the transport user that the other side of the * connection is finished sending data. This primitive is only supported by * the transport provider if it is of type T_COTS_ORD. */struct T_ordrel_ind { t_scalar_t PRIM_type; /**< Always T_ORDREL_IND. */};/** @} *//** * @name Connectionless-Mode Transport Primitives * @{ *//** * T_UNITDATA_REQ, M_PROTO. * * This primitive request that the transport provider send the specified * datagram to the specified destination. */struct T_unitdata_req { t_scalar_t PRIM_type; /**< Always T_UNITDATA_REQ. */ t_scalar_t DEST_length; /**< Dest addr length. */ t_scalar_t DEST_offset; /**< Dest addr offset. */ t_scalar_t OPT_length; /**< Options length. */ t_scalar_t OPT_offset; /**< Options offset. */};/** * T_UNITDATA_IND, M_PROTO. * * This primitive indicates to the transport user that a datagram has been * received from the specified source address. */struct T_unitdata_ind { t_scalar_t PRIM_type; /**< T_UNITDATA_IND. */ t_scalar_t SRC_length; /**< Source addr length - see note in sec. 1.4. */ t_scalar_t SRC_offset; /**< Source addr offset. */ t_scalar_t OPT_length; /**< Options length - see note in sec. 1.4. */ t_scalar_t OPT_offset; /**< Options offset. */};/** * T_UDERROR_IND, M_PROTO. * * This primitive indicates to the transport user that a datagram with the * specified destination address and options produced an error. */struct T_uderror_ind { t_scalar_t PRIM_type; /**< T_UDERROR_IND. */ t_scalar_t DEST_length; /**< Dest addr length - see note in sec. 1.4. */ t_scalar_t DEST_offset; /**< Dest addr offset. */ t_scalar_t OPT_length; /**< Options length - see note in sec. 1.4. */ t_scalar_t OPT_offset; /**< Options offset. */ t_scalar_t ERROR_type; /**< Error type. */};/** @} *//** * T_OPTDATA_REQ, M_PROTO. */struct T_optdata_req { t_scalar_t PRIM_type; /**< T_OPTDATA_REQ. */ t_scalar_t DATA_flag; /**< Flag bits associated with data. */ t_scalar_t OPT_length; /**< Options length. */ t_scalar_t OPT_offset; /**< Options offset. */};/** * T_OPTDATA_IND, M_PROTO. */struct T_optdata_ind { t_scalar_t PRIM_type; /**< T_OPTDATA_REQ. */ t_scalar_t DATA_flag; /**< Flag bits associated with data. */ t_scalar_t OPT_length; /**< Options length. */ t_scalar_t OPT_offset; /**< Options offset. */};/** * T_CAPABILITY_REQ, M_(PC)PROTO. */struct T_capability_req { t_scalar_t PRIM_type; /**< T_CAPABILITY_REQ. */ t_uscalar_t CAP_bits1; /**< Capability bits 1. */};/** * T_CAPABILITY_ACK, M_PCPROTO. */struct T_capability_ack { t_scalar_t PRIM_type; /**< T_CAPABILITY_ACK. */ t_uscalar_t CAP_bits1; /**< Capability bits #1. */ struct T_info_ack INFO_ack; /**< Info acknowledgement. */ t_uscalar_t ACCEPTOR_id; /**< Accepting endpoint id. */};/** * @name T_CAPABILITY Flags. * Flags for use with T_CAPABILITY_REQ and T_CAPABILITY_ACK primitives. * @{ */#define TC1_INFO (1<<0) /**< Contains T_info_ack. */#define TC1_ACCEPTOR_ID (1<<1) /**< Contains acceptor id. */#define TCI_CAP_BITS2 (1<<31) /**< Contains extensions (unused). *//** @} *//** * Union of all primitive formats. */union T_primitives { t_scalar_t type; /**< Overlapping type field */ struct T_addr_ack addr_ack; struct T_addr_req addr_req; struct T_bind_ack bind_ack; struct T_bind_req bind_req; struct T_conn_con conn_con; struct T_conn_ind conn_ind; struct T_conn_req conn_req; struct T_conn_res conn_res; struct T_data_ind data_ind; struct T_data_req data_req; struct T_discon_ind discon_ind; struct T_discon_req discon_req; struct T_error_ack error_ack; struct T_exdata_ind exdata_ind; struct T_exdata_req exdata_req; struct T_info_ack info_ack; struct T_info_req info_req; struct T_ok_ack ok_ack; struct T_optmgmt_ack optmgmt_ack; struct T_optmgmt_req optmgmt_req; struct T_ordrel_ind ordrel_ind; struct T_ordrel_req ordrel_req; struct T_uderror_ind uderror_ind; struct T_unbind_req unbind_req; struct T_unitdata_ind unitdata_ind; struct T_unitdata_req unitdata_req; struct T_optdata_req optdata_req; struct T_optdata_ind optdata_ind; struct T_capability_req capability_req; struct T_capability_ack capability_ack;};#endif /* _SYS_TIHDR_H *//** @} */// vim: com=srO\:/**,mb\:*,ex\:*/,srO\:/*,mb\:*,ex\:*/,b\:TRANS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -