123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- #ifndef _STROPTS_H
- #define _STROPTS_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define __SID ('S' << 8)
- #define I_NREAD (__SID | 1)
- #define I_PUSH (__SID | 2)
- #define I_POP (__SID | 3)
- #define I_LOOK (__SID | 4)
- #define I_FLUSH (__SID | 5)
- #define I_SRDOPT (__SID | 6)
- #define I_GRDOPT (__SID | 7)
- #define I_STR (__SID | 8)
- #define I_SETSIG (__SID | 9)
- #define I_GETSIG (__SID |10)
- #define I_FIND (__SID |11)
- #define I_LINK (__SID |12)
- #define I_UNLINK (__SID |13)
- #define I_PEEK (__SID |15)
- #define I_FDINSERT (__SID |16)
- #define I_SENDFD (__SID |17)
- #define I_RECVFD (__SID |14)
- #define I_SWROPT (__SID |19)
- #define I_GWROPT (__SID |20)
- #define I_LIST (__SID |21)
- #define I_PLINK (__SID |22)
- #define I_PUNLINK (__SID |23)
- #define I_FLUSHBAND (__SID |28)
- #define I_CKBAND (__SID |29)
- #define I_GETBAND (__SID |30)
- #define I_ATMARK (__SID |31)
- #define I_SETCLTIME (__SID |32)
- #define I_GETCLTIME (__SID |33)
- #define I_CANPUT (__SID |34)
- #define FMNAMESZ 8
- #define FLUSHR 0x01
- #define FLUSHW 0x02
- #define FLUSHRW 0x03
- #define FLUSHBAND 0x04
- #define S_INPUT 0x0001
- #define S_HIPRI 0x0002
- #define S_OUTPUT 0x0004
- #define S_MSG 0x0008
- #define S_ERROR 0x0010
- #define S_HANGUP 0x0020
- #define S_RDNORM 0x0040
- #define S_WRNORM S_OUTPUT
- #define S_RDBAND 0x0080
- #define S_WRBAND 0x0100
- #define S_BANDURG 0x0200
- #define RS_HIPRI 0x01
- #define RNORM 0x0000
- #define RMSGD 0x0001
- #define RMSGN 0x0002
- #define RPROTDAT 0x0004
- #define RPROTDIS 0x0008
- #define RPROTNORM 0x0010
- #define RPROTMASK 0x001C
- #define SNDZERO 0x001
- #define SNDPIPE 0x002
- #define ANYMARK 0x01
- #define LASTMARK 0x02
- #define MUXID_ALL (-1)
- #define MSG_HIPRI 0x01
- #define MSG_ANY 0x02
- #define MSG_BAND 0x04
- #define MORECTL 1
- #define MOREDATA 2
- struct bandinfo {
- unsigned char bi_pri;
- int bi_flag;
- };
- struct strbuf {
- int maxlen;
- int len;
- char *buf;
- };
- struct strpeek {
- struct strbuf ctlbuf;
- struct strbuf databuf;
- unsigned flags;
- };
- struct strfdinsert {
- struct strbuf ctlbuf;
- struct strbuf databuf;
- unsigned flags;
- int fildes;
- int offset;
- };
- struct strioctl {
- int ic_cmd;
- int ic_timout;
- int ic_len;
- char *ic_dp;
- };
- struct strrecvfd {
- int fd;
- int uid;
- int gid;
- char __fill[8];
- };
- struct str_mlist {
- char l_name[FMNAMESZ + 1];
- };
- struct str_list {
- int sl_nmods;
- struct str_mlist *sl_modlist;
- };
- int isastream(int);
- int ioctl(int, int, ...);
- #ifdef __cplusplus
- }
- #endif
- #endif
|