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

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