• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _STROPTS_H
2 #define _STROPTS_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #define __SID		('S' << 8)
9 
10 #define I_NREAD		(__SID | 1)
11 #define I_PUSH		(__SID | 2)
12 #define I_POP		(__SID | 3)
13 #define I_LOOK		(__SID | 4)
14 #define I_FLUSH		(__SID | 5)
15 #define I_SRDOPT	(__SID | 6)
16 #define I_GRDOPT	(__SID | 7)
17 #define I_STR		(__SID | 8)
18 #define I_SETSIG	(__SID | 9)
19 #define I_GETSIG	(__SID |10)
20 #define I_FIND		(__SID |11)
21 #define I_LINK		(__SID |12)
22 #define I_UNLINK	(__SID |13)
23 #define I_PEEK		(__SID |15)
24 #define I_FDINSERT	(__SID |16)
25 #define I_SENDFD	(__SID |17)
26 #define I_RECVFD	(__SID |14)
27 #define I_SWROPT	(__SID |19)
28 #define I_GWROPT	(__SID |20)
29 #define I_LIST		(__SID |21)
30 #define I_PLINK		(__SID |22)
31 #define I_PUNLINK	(__SID |23)
32 #define I_FLUSHBAND	(__SID |28)
33 #define I_CKBAND	(__SID |29)
34 #define I_GETBAND	(__SID |30)
35 #define I_ATMARK	(__SID |31)
36 #define I_SETCLTIME	(__SID |32)
37 #define I_GETCLTIME	(__SID |33)
38 #define I_CANPUT	(__SID |34)
39 
40 #define FMNAMESZ	8
41 
42 #define FLUSHR		0x01
43 #define FLUSHW		0x02
44 #define FLUSHRW		0x03
45 #define FLUSHBAND	0x04
46 
47 #define S_INPUT		0x0001
48 #define S_HIPRI		0x0002
49 #define S_OUTPUT	0x0004
50 #define S_MSG		0x0008
51 #define S_ERROR		0x0010
52 #define S_HANGUP	0x0020
53 #define S_RDNORM	0x0040
54 #define S_WRNORM	S_OUTPUT
55 #define S_RDBAND	0x0080
56 #define S_WRBAND	0x0100
57 #define S_BANDURG	0x0200
58 
59 #define RS_HIPRI	0x01
60 
61 #define RNORM		0x0000
62 #define RMSGD		0x0001
63 #define RMSGN		0x0002
64 #define RPROTDAT	0x0004
65 #define RPROTDIS	0x0008
66 #define RPROTNORM	0x0010
67 #define RPROTMASK	0x001C
68 
69 #define SNDZERO		0x001
70 #define SNDPIPE		0x002
71 
72 #define ANYMARK		0x01
73 #define LASTMARK	0x02
74 
75 #define MUXID_ALL	(-1)
76 
77 #define MSG_HIPRI	0x01
78 #define MSG_ANY		0x02
79 #define MSG_BAND	0x04
80 
81 #define MORECTL		1
82 #define MOREDATA	2
83 
84 struct bandinfo {
85 	unsigned char bi_pri;
86 	int bi_flag;
87 };
88 
89 struct strbuf {
90 	int maxlen;
91 	int len;
92 	char *buf;
93 };
94 
95 struct strpeek {
96 	struct strbuf ctlbuf;
97 	struct strbuf databuf;
98 	unsigned flags;
99 };
100 
101 struct strfdinsert {
102 	struct strbuf ctlbuf;
103 	struct strbuf databuf;
104 	unsigned flags;
105 	int fildes;
106 	int offset;
107 };
108 
109 struct strioctl {
110 	int ic_cmd;
111 	int ic_timout;
112 	int ic_len;
113 	char *ic_dp;
114 };
115 
116 struct strrecvfd {
117 	int fd;
118 	int uid;
119 	int gid;
120 	char __fill[8];
121 };
122 
123 struct str_mlist {
124 	char l_name[FMNAMESZ + 1];
125 };
126 
127 struct str_list {
128 	int sl_nmods;
129 	struct str_mlist *sl_modlist;
130 };
131 
132 int isastream(int);
133 int ioctl(int, int, ...);
134 
135 #ifdef __cplusplus
136 }
137 #endif
138 
139 #endif
140