patch-2.1.97 linux/arch/sparc64/solaris/socksys.h

Next file: linux/arch/sparc64/solaris/systbl.S
Previous file: linux/arch/sparc64/solaris/socksys.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.96/linux/arch/sparc64/solaris/socksys.h linux/arch/sparc64/solaris/socksys.h
@@ -0,0 +1,208 @@
+/* $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
+

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov