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