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

Annotation of sys/compat/linux/linux_socketcall.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: linux_socketcall.h,v 1.4 2002/11/27 07:30:36 ish Exp $        */
                      2: /*     $NetBSD: linux_socketcall.h,v 1.1 1995/02/28 23:26:05 fvdl Exp $        */
                      3:
                      4: /*
                      5:  * Copyright (c) 1995 Frank van der Linden
                      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. All advertising materials mentioning features or use of this software
                     17:  *    must display the following acknowledgement:
                     18:  *      This product includes software developed for the NetBSD Project
                     19:  *      by Frank van der Linden
                     20:  * 4. The name of the author may not be used to endorse or promote products
                     21:  *    derived from this software without specific prior written permission
                     22:  *
                     23:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     24:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     25:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     26:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     27:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     28:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     29:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     30:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     31:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     32:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     33:  */
                     34:
                     35: #ifndef _LINUX_SOCKETCALL_H
                     36: #define _LINUX_SOCKETCALL_H
                     37:
                     38: /*
                     39:  * Values passed to the Linux socketcall() syscall, determining the actual
                     40:  * action to take.
                     41:  */
                     42: #define LINUX_SYS_socket       1
                     43: #define LINUX_SYS_bind         2
                     44: #define LINUX_SYS_connect      3
                     45: #define LINUX_SYS_listen       4
                     46: #define LINUX_SYS_accept       5
                     47: #define LINUX_SYS_getsockname  6
                     48: #define LINUX_SYS_getpeername  7
                     49: #define LINUX_SYS_socketpair   8
                     50: #define LINUX_SYS_send         9
                     51: #define LINUX_SYS_recv         10
                     52: #define LINUX_SYS_sendto       11
                     53: #define LINUX_SYS_recvfrom     12
                     54: #define LINUX_SYS_shutdown     13
                     55: #define LINUX_SYS_setsockopt   14
                     56: #define LINUX_SYS_getsockopt   15
                     57: #define LINUX_SYS_sendmsg      16
                     58: #define LINUX_SYS_recvmsg      17
                     59:
                     60: /*
                     61:  * Structures for the arguments of the different system calls. This looks
                     62:  * a little better than copyin() of all values one by one.
                     63:  */
                     64: struct linux_socket_args {
                     65:        int domain;
                     66:        int type;
                     67:        int protocol;
                     68: };
                     69:
                     70: struct linux_bind_args {
                     71:        int s;
                     72:        struct osockaddr *name;
                     73:        int namelen;
                     74: };
                     75:
                     76: struct linux_connect_args {
                     77:        int s;
                     78:        struct osockaddr *name;
                     79:        int namelen;
                     80: };
                     81:
                     82: struct linux_listen_args {
                     83:        int s;
                     84:        int backlog;
                     85: };
                     86:
                     87: struct linux_accept_args {
                     88:        int s;
                     89:        struct sockaddr *addr;
                     90:        int *namelen;
                     91: };
                     92:
                     93: struct linux_getsockname_args {
                     94:        int s;
                     95:        struct osockaddr *addr;
                     96:        int *namelen;
                     97: };
                     98:
                     99: struct linux_getpeername_args {
                    100:        int s;
                    101:        struct sockaddr *addr;
                    102:        int *namelen;
                    103: };
                    104:
                    105: struct linux_socketpair_args {
                    106:        int domain;
                    107:        int type;
                    108:        int protocol;
                    109:        int *rsv;
                    110: };
                    111:
                    112: struct linux_send_args {
                    113:        int s;
                    114:        void *msg;
                    115:        int len;
                    116:        int flags;
                    117: };
                    118:
                    119: struct linux_recv_args {
                    120:        int s;
                    121:        void *msg;
                    122:        int len;
                    123:        int flags;
                    124: };
                    125:
                    126: struct linux_sendto_args {
                    127:        int s;
                    128:        void *msg;
                    129:        int len;
                    130:        int flags;
                    131:        struct osockaddr *to;
                    132:        int tolen;
                    133: };
                    134:
                    135: struct linux_recvfrom_args {
                    136:        int s;
                    137:        void *buf;
                    138:        int len;
                    139:        int flags;
                    140:        struct osockaddr *from;
                    141:        int *fromlen;
                    142: };
                    143:
                    144: struct linux_shutdown_args {
                    145:        int s;
                    146:        int how;
                    147: };
                    148:
                    149: struct linux_getsockopt_args {
                    150:        int s;
                    151:        int level;
                    152:        int optname;
                    153:        void *optval;
                    154:        int *optlen;
                    155: };
                    156:
                    157: struct linux_setsockopt_args {
                    158:        int s;
                    159:        int level;
                    160:        int optname;
                    161:        void *optval;
                    162:        int optlen;
                    163: };
                    164:
                    165: struct linux_sendmsg_args {
                    166:        int s;
                    167:        struct msghdr *msg;
                    168:        int flags;
                    169: };
                    170:
                    171: struct linux_recvmsg_args {
                    172:        int s;
                    173:        struct msghdr *msg;
                    174:        int flags;
                    175: };
                    176:
                    177: #endif /* _LINUX_SOCKETCALL_H */

CVSweb