root/compat/linux/linux_socketcall.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    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 */

/* [<][>][^][v][top][bottom][index][help] */