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