[BACK]Return to svr4_stropts.h CVS log [TXT][DIR] Up to [local] / sys / compat / svr4

Annotation of sys/compat/svr4/svr4_stropts.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: svr4_stropts.h,v 1.5 2002/03/14 01:26:51 millert Exp $        */
                      2: /*     $NetBSD: svr4_stropts.h,v 1.9 1996/10/28 08:46:38 fvdl Exp $     */
                      3:
                      4: /*
                      5:  * Copyright (c) 1994 Christos Zoulas
                      6:  * All rights reserved.
                      7:  *
                      8:  * Redistribution and use in source and binary forms, with or without
                      9:  * modification, are permitted provided that the following conditions
                     10:  * are met:
                     11:  * 1. Redistributions of source code must retain the above copyright
                     12:  *    notice, this list of conditions and the following disclaimer.
                     13:  * 2. Redistributions in binary form must reproduce the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer in the
                     15:  *    documentation and/or other materials provided with the distribution.
                     16:  * 3. The name of the author may not be used to endorse or promote products
                     17:  *    derived from this software without specific prior written permission
                     18:  *
                     19:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     20:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     21:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     22:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     23:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     24:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     25:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     26:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     27:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     28:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     29:  */
                     30:
                     31: #ifndef        _SVR4_STROPTS_H_
                     32: #define        _SVR4_STROPTS_H_
                     33:
                     34:
                     35: struct svr4_strbuf {
                     36:        int      maxlen;
                     37:        int      len;
                     38:        char    *buf;
                     39: };
                     40:
                     41: #define SVR4_STR             ('S' << 8)
                     42: #define SVR4_I_NREAD         (SVR4_STR| 1)
                     43: #define SVR4_I_PUSH          (SVR4_STR| 2)
                     44: #define SVR4_I_POP           (SVR4_STR| 3)
                     45: #define SVR4_I_LOOK          (SVR4_STR| 4)
                     46: #define SVR4_I_FLUSH         (SVR4_STR| 5)
                     47: #define SVR4_I_SRDOPT        (SVR4_STR| 6)
                     48: #define SVR4_I_GRDOPT        (SVR4_STR| 7)
                     49: #define SVR4_I_STR           (SVR4_STR| 8)
                     50: #define SVR4_I_SETSIG        (SVR4_STR| 9)
                     51: #define SVR4_I_GETSIG        (SVR4_STR|10)
                     52: #define SVR4_I_FIND          (SVR4_STR|11)
                     53: #define SVR4_I_LINK          (SVR4_STR|12)
                     54: #define SVR4_I_UNLINK        (SVR4_STR|13)
                     55: #define SVR4_I_ERECVFD       (SVR4_STR|14)
                     56: #define SVR4_I_PEEK          (SVR4_STR|15)
                     57: #define SVR4_I_FDINSERT      (SVR4_STR|16)
                     58: #define SVR4_I_SENDFD        (SVR4_STR|17)
                     59: #define SVR4_I_RECVFD        (SVR4_STR|18)
                     60: #define SVR4_I_SWROPT        (SVR4_STR|19)
                     61: #define SVR4_I_GWROPT        (SVR4_STR|20)
                     62: #define SVR4_I_LIST          (SVR4_STR|21)
                     63: #define SVR4_I_PLINK         (SVR4_STR|22)
                     64: #define SVR4_I_PUNLINK       (SVR4_STR|23)
                     65: #define SVR4_I_SETEV         (SVR4_STR|24)
                     66: #define SVR4_I_GETEV         (SVR4_STR|25)
                     67: #define SVR4_I_STREV         (SVR4_STR|26)
                     68: #define SVR4_I_UNSTREV       (SVR4_STR|27)
                     69: #define SVR4_I_FLUSHBAND     (SVR4_STR|28)
                     70: #define SVR4_I_CKBAND        (SVR4_STR|29)
                     71: #define SVR4_I_GETBAND       (SVR4_STR|30)
                     72: #define SVR4_I_ATMARK        (SVR4_STR|31)
                     73: #define SVR4_I_SETCLTIME     (SVR4_STR|32)
                     74: #define SVR4_I_GETCLTIME     (SVR4_STR|33)
                     75: #define SVR4_I_CANPUT        (SVR4_STR|34)
                     76:
                     77: /*
                     78:  * The following two ioctls are OS specific and
                     79:  * undocumented.
                     80:  */
                     81: #define SVR4__I_BIND_RSVD    (SVR4_STR|242)
                     82: #define SVR4__I_RELE_RSVD    (SVR4_STR|243)
                     83:
                     84: /* Struct passed for SVR4_I_STR */
                     85: struct svr4_strioctl {
                     86:        u_long   cmd;
                     87:        int      timeout;
                     88:        int      len;
                     89:        char    *buf;
                     90: };
                     91:
                     92:
                     93: /*
                     94:  * Our internal state for the stream
                     95:  * For now we keep almost nothing... In the future we can keep more
                     96:  * streams state.
                     97:  */
                     98: struct svr4_strm {
                     99:        int     s_family;       /* socket family */
                    100:        int     s_cmd;          /* last getmsg reply or putmsg request */
                    101:        int     s_afd;          /* last accepted fd; [for fd_insert]    */
                    102: };
                    103:
                    104: /*
                    105:  * The following structures are determined empirically.
                    106:  */
                    107: struct svr4_strmcmd {
                    108:        long    cmd;            /* command ?            */
                    109:        long    len;            /* Address len          */
                    110:        long    offs;           /* Address offset       */
                    111:        long    pad[61];
                    112: };
                    113:
                    114: struct svr4_infocmd {
                    115:        long    cmd;
                    116:        long    tsdu;
                    117:        long    etsdu;
                    118:        long    cdata;
                    119:        long    ddata;
                    120:        long    addr;
                    121:        long    opt;
                    122:        long    tidu;
                    123:        long    serv;
                    124:        long    current;
                    125:        long    provider;
                    126: };
                    127:
                    128: struct svr4_strfdinsert {
                    129:        struct svr4_strbuf      ctl;
                    130:        struct svr4_strbuf      data;
                    131:        long                    flags;
                    132:        int                     fd;
                    133:        int                     offset;
                    134: };
                    135:
                    136: struct svr4_netaddr_in {
                    137:        u_short family;
                    138:        u_short port;
                    139:        u_long  addr;
                    140: };
                    141:
                    142: struct svr4_netaddr_un {
                    143:        u_short family;
                    144:        char    path[1];
                    145: };
                    146:
                    147: #define SVR4_ADDROF(sc) (void *) (((char *) (sc)) + (sc)->offs)
                    148: #define SVR4_C_ADDROF(sc) (const void *) (((const char *) (sc)) + (sc)->offs)
                    149:
                    150: struct svr4_strm *svr4_stream_get(struct file *fp);
                    151:
                    152: #endif /* !_SVR4_STROPTS */

CVSweb