GNU Linux-libre 6.9.2-gnu
[releases.git] / include / uapi / linux / net.h
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 /*
3  * NET          An implementation of the SOCKET network access protocol.
4  *              This is the master header file for the Linux NET layer,
5  *              or, in plain English: the networking handling part of the
6  *              kernel.
7  *
8  * Version:     @(#)net.h       1.0.3   05/25/93
9  *
10  * Authors:     Orest Zborowski, <obz@Kodak.COM>
11  *              Ross Biro
12  *              Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
13  *
14  *              This program is free software; you can redistribute it and/or
15  *              modify it under the terms of the GNU General Public License
16  *              as published by the Free Software Foundation; either version
17  *              2 of the License, or (at your option) any later version.
18  */
19 #ifndef _UAPI_LINUX_NET_H
20 #define _UAPI_LINUX_NET_H
21
22 #include <linux/socket.h>
23 #include <asm/socket.h>
24
25 #define NPROTO          AF_MAX
26
27 #define SYS_SOCKET      1               /* sys_socket(2)                */
28 #define SYS_BIND        2               /* sys_bind(2)                  */
29 #define SYS_CONNECT     3               /* sys_connect(2)               */
30 #define SYS_LISTEN      4               /* sys_listen(2)                */
31 #define SYS_ACCEPT      5               /* sys_accept(2)                */
32 #define SYS_GETSOCKNAME 6               /* sys_getsockname(2)           */
33 #define SYS_GETPEERNAME 7               /* sys_getpeername(2)           */
34 #define SYS_SOCKETPAIR  8               /* sys_socketpair(2)            */
35 #define SYS_SEND        9               /* sys_send(2)                  */
36 #define SYS_RECV        10              /* sys_recv(2)                  */
37 #define SYS_SENDTO      11              /* sys_sendto(2)                */
38 #define SYS_RECVFROM    12              /* sys_recvfrom(2)              */
39 #define SYS_SHUTDOWN    13              /* sys_shutdown(2)              */
40 #define SYS_SETSOCKOPT  14              /* sys_setsockopt(2)            */
41 #define SYS_GETSOCKOPT  15              /* sys_getsockopt(2)            */
42 #define SYS_SENDMSG     16              /* sys_sendmsg(2)               */
43 #define SYS_RECVMSG     17              /* sys_recvmsg(2)               */
44 #define SYS_ACCEPT4     18              /* sys_accept4(2)               */
45 #define SYS_RECVMMSG    19              /* sys_recvmmsg(2)              */
46 #define SYS_SENDMMSG    20              /* sys_sendmmsg(2)              */
47
48 typedef enum {
49         SS_FREE = 0,                    /* not allocated                */
50         SS_UNCONNECTED,                 /* unconnected to any socket    */
51         SS_CONNECTING,                  /* in process of connecting     */
52         SS_CONNECTED,                   /* connected to socket          */
53         SS_DISCONNECTING                /* in process of disconnecting  */
54 } socket_state;
55
56 #define __SO_ACCEPTCON  (1 << 16)       /* performed a listen           */
57
58 #endif /* _UAPI_LINUX_NET_H */