123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- /* $Id: socksys.h,v 1.2 1998/03/26 08:46:07 jj Exp $
- * socksys.h: Definitions for STREAMS modules emulation code.
- *
- * Copyright (C) 1998 Patrik Rak (prak3264@ss1000.ms.mff.cuni.cz)
- */
- #define MSG_HIPRI 0x01
- #define MSG_ANY 0x02
- #define MSG_BAND 0x04
- #define MORECTL 1
- #define MOREDATA 2
- #define TBADADDR 1
- #define TBADOPT 2
- #define TACCES 3
- #define TBADF 4
- #define TNOADDR 5
- #define TOUTSTATE 6
- #define TBADSEQ 7
- #define TSYSERR 8
- #define TLOOK 9
- #define TBADDATA 10
- #define TBUFOVFLW 11
- #define TFLOW 12
- #define TNODATA 13
- #define TNODIS 14
- #define TNOUDERR 15
- #define TBADFLAG 16
- #define TNOREL 17
- #define TNOTSUPPORT 18
- #define TSTATECHNG 19
- #define T_CONN_REQ 0
- #define T_CONN_RES 1
- #define T_DISCON_REQ 2
- #define T_DATA_REQ 3
- #define T_EXDATA_REQ 4
- #define T_INFO_REQ 5
- #define T_BIND_REQ 6
- #define T_UNBIND_REQ 7
- #define T_UNITDATA_REQ 8
- #define T_OPTMGMT_REQ 9
- #define T_ORDREL_REQ 10
- #define T_CONN_IND 11
- #define T_CONN_CON 12
- #define T_DISCON_IND 13
- #define T_DATA_IND 14
- #define T_EXDATA_IND 15
- #define T_INFO_ACK 16
- #define T_BIND_ACK 17
- #define T_ERROR_ACK 18
- #define T_OK_ACK 19
- #define T_UNITDATA_IND 20
- #define T_UDERROR_IND 21
- #define T_OPTMGMT_ACK 22
- #define T_ORDREL_IND 23
- #define T_NEGOTIATE 0x0004
- #define T_FAILURE 0x0040
- #define TS_UNBND 0 /* unbound */
- #define TS_WACK_BREQ 1 /* waiting for T_BIND_REQ ack */
- #define TS_WACK_UREQ 2 /* waiting for T_UNBIND_REQ ack */
- #define TS_IDLE 3 /* idle */
- #define TS_WACK_OPTREQ 4 /* waiting for T_OPTMGMT_REQ ack */
- #define TS_WACK_CREQ 5 /* waiting for T_CONN_REQ ack */
- #define TS_WCON_CREQ 6 /* waiting for T_CONN_REQ confirmation */
- #define TS_WRES_CIND 7 /* waiting for T_CONN_IND */
- #define TS_WACK_CRES 8 /* waiting for T_CONN_RES ack */
- #define TS_DATA_XFER 9 /* data transfer */
- #define TS_WIND_ORDREL 10 /* releasing read but not write */
- #define TS_WREQ_ORDREL 11 /* wait to release write but not read */
- #define TS_WACK_DREQ6 12 /* waiting for T_DISCON_REQ ack */
- #define TS_WACK_DREQ7 13 /* waiting for T_DISCON_REQ ack */
- #define TS_WACK_DREQ9 14 /* waiting for T_DISCON_REQ ack */
- #define TS_WACK_DREQ10 15 /* waiting for T_DISCON_REQ ack */
- #define TS_WACK_DREQ11 16 /* waiting for T_DISCON_REQ ack */
- #define TS_NOSTATES 17
- struct T_conn_req {
- s32 PRIM_type;
- s32 DEST_length;
- s32 DEST_offset;
- s32 OPT_length;
- s32 OPT_offset;
- };
- struct T_bind_req {
- s32 PRIM_type;
- s32 ADDR_length;
- s32 ADDR_offset;
- u32 CONIND_number;
- };
- struct T_unitdata_req {
- s32 PRIM_type;
- s32 DEST_length;
- s32 DEST_offset;
- s32 OPT_length;
- s32 OPT_offset;
- };
- struct T_optmgmt_req {
- s32 PRIM_type;
- s32 OPT_length;
- s32 OPT_offset;
- s32 MGMT_flags;
- };
- struct T_bind_ack {
- s32 PRIM_type;
- s32 ADDR_length;
- s32 ADDR_offset;
- u32 CONIND_number;
- };
- struct T_error_ack {
- s32 PRIM_type;
- s32 ERROR_prim;
- s32 TLI_error;
- s32 UNIX_error;
- };
- struct T_ok_ack {
- s32 PRIM_type;
- s32 CORRECT_prim;
- };
- struct T_conn_ind {
- s32 PRIM_type;
- s32 SRC_length;
- s32 SRC_offset;
- s32 OPT_length;
- s32 OPT_offset;
- s32 SEQ_number;
- };
- struct T_conn_con {
- s32 PRIM_type;
- s32 RES_length;
- s32 RES_offset;
- s32 OPT_length;
- s32 OPT_offset;
- };
- struct T_discon_ind {
- s32 PRIM_type;
- s32 DISCON_reason;
- s32 SEQ_number;
- };
- struct T_unitdata_ind {
- s32 PRIM_type;
- s32 SRC_length;
- s32 SRC_offset;
- s32 OPT_length;
- s32 OPT_offset;
- };
- struct T_optmgmt_ack {
- s32 PRIM_type;
- s32 OPT_length;
- s32 OPT_offset;
- s32 MGMT_flags;
- };
- struct opthdr {
- s32 level;
- s32 name;
- s32 len;
- char value[0];
- };
- struct T_primsg {
- struct T_primsg *next;
- unsigned char pri;
- unsigned char band;
- int length;
- s32 type;
- };
- struct strbuf {
- s32 maxlen;
- s32 len;
- u32 buf;
- } ;
- /* Constants used by STREAMS modules emulation code */
- typedef char sol_module;
- #define MAX_NR_STREAM_MODULES 16
- /* Private data structure assigned to sockets. */
- struct sol_socket_struct {
- int magic;
- int modcount;
- sol_module module[MAX_NR_STREAM_MODULES];
- long state;
- int offset;
- struct T_primsg *pfirst, *plast;
- };
- #define SOLARIS_SOCKET_MAGIC 0xADDED
|