| 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 _LINUX_NET_H |
| 20 | #define _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 /* _LINUX_NET_H */ |