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