#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