if (!defined &_SYS_SOCKET_H_) {
    eval 'sub _SYS_SOCKET_H_ {1;}';
    eval 'sub SOCK_STREAM {1;}';
    eval 'sub SOCK_DGRAM {2;}';
    eval 'sub SOCK_RAW {3;}';
    eval 'sub SOCK_RDM {4;}';
    eval 'sub SOCK_SEQPACKET {5;}';
    eval 'sub SO_DEBUG {0x0001;}';
    eval 'sub SO_ACCEPTCONN {0x0002;}';
    eval 'sub SO_REUSEADDR {0x0004;}';
    eval 'sub SO_KEEPALIVE {0x0008;}';
    eval 'sub SO_DONTROUTE {0x0010;}';
    eval 'sub SO_BROADCAST {0x0020;}';
    eval 'sub SO_USELOOPBACK {0x0040;}';
    eval 'sub SO_LINGER {0x0080;}';
    eval 'sub SO_OOBINLINE {0x0100;}';
    eval 'sub SO_REUSEPORT {0x0200;}';
    eval 'sub SO_SNDBUF {0x1001;}';
    eval 'sub SO_RCVBUF {0x1002;}';
    eval 'sub SO_SNDLOWAT {0x1003;}';
    eval 'sub SO_RCVLOWAT {0x1004;}';
    eval 'sub SO_SNDTIMEO {0x1005;}';
    eval 'sub SO_RCVTIMEO {0x1006;}';
    eval 'sub SO_ERROR {0x1007;}';
    eval 'sub SO_TYPE {0x1008;}';
    eval 'sub SOL_SOCKET {0xffff;}';
    eval 'sub AF_UNSPEC {0;}';
    eval 'sub AF_LOCAL {1;}';
    eval 'sub AF_UNIX { &AF_LOCAL;}';
    eval 'sub AF_INET {2;}';
    eval 'sub AF_IMPLINK {3;}';
    eval 'sub AF_PUP {4;}';
    eval 'sub AF_CHAOS {5;}';
    eval 'sub AF_NS {6;}';
    eval 'sub AF_ISO {7;}';
    eval 'sub AF_OSI { &AF_ISO;}';
    eval 'sub AF_ECMA {8;}';
    eval 'sub AF_DATAKIT {9;}';
    eval 'sub AF_CCITT {10;}';
    eval 'sub AF_SNA {11;}';
    eval 'sub AF_DECnet {12;}';
    eval 'sub AF_DLI {13;}';
    eval 'sub AF_LAT {14;}';
    eval 'sub AF_HYLINK {15;}';
    eval 'sub AF_APPLETALK {16;}';
    eval 'sub AF_ROUTE {17;}';
    eval 'sub AF_LINK {18;}';
    eval 'sub pseudo_AF_XTP {19;}';
    eval 'sub AF_COIP {20;}';
    eval 'sub AF_CNT {21;}';
    eval 'sub pseudo_AF_RTIP {22;}';
    eval 'sub AF_IPX {23;}';
    eval 'sub AF_SIP {24;}';
    eval 'sub pseudo_AF_PIP {25;}';
    eval 'sub AF_MAX {26;}';
    eval 'sub PF_UNSPEC { &AF_UNSPEC;}';
    eval 'sub PF_LOCAL { &AF_LOCAL;}';
    eval 'sub PF_UNIX { &PF_LOCAL;}';
    eval 'sub PF_INET { &AF_INET;}';
    eval 'sub PF_IMPLINK { &AF_IMPLINK;}';
    eval 'sub PF_PUP { &AF_PUP;}';
    eval 'sub PF_CHAOS { &AF_CHAOS;}';
    eval 'sub PF_NS { &AF_NS;}';
    eval 'sub PF_ISO { &AF_ISO;}';
    eval 'sub PF_OSI { &AF_ISO;}';
    eval 'sub PF_ECMA { &AF_ECMA;}';
    eval 'sub PF_DATAKIT { &AF_DATAKIT;}';
    eval 'sub PF_CCITT { &AF_CCITT;}';
    eval 'sub PF_SNA { &AF_SNA;}';
    eval 'sub PF_DECnet { &AF_DECnet;}';
    eval 'sub PF_DLI { &AF_DLI;}';
    eval 'sub PF_LAT { &AF_LAT;}';
    eval 'sub PF_HYLINK { &AF_HYLINK;}';
    eval 'sub PF_APPLETALK { &AF_APPLETALK;}';
    eval 'sub PF_ROUTE { &AF_ROUTE;}';
    eval 'sub PF_LINK { &AF_LINK;}';
    eval 'sub PF_XTP { &pseudo_AF_XTP;}';
    eval 'sub PF_COIP { &AF_COIP;}';
    eval 'sub PF_CNT { &AF_CNT;}';
    eval 'sub PF_SIP { &AF_SIP;}';
    eval 'sub PF_IPX { &AF_IPX;}';
    eval 'sub PF_RTIP { &pseudo_AF_FTIP;}';
    eval 'sub PF_PIP { &pseudo_AF_PIP;}';
    eval 'sub PF_MAX { &AF_MAX;}';
    eval 'sub NET_MAXID { &AF_MAX;}';
    eval 'sub CTL_NET_NAMES {{ { 0, 0 }, { "unix",  &CTLTYPE_NODE }, { "inet",  &CTLTYPE_NODE }, { "implink",  &CTLTYPE_NODE }, { "pup",  &CTLTYPE_NODE }, { "chaos",  &CTLTYPE_NODE }, { "xerox_ns",  &CTLTYPE_NODE }, { "iso",  &CTLTYPE_NODE }, { "emca",  &CTLTYPE_NODE }, { "datakit",  &CTLTYPE_NODE }, { "ccitt",  &CTLTYPE_NODE }, { "ibm_sna",  &CTLTYPE_NODE }, { "decnet",  &CTLTYPE_NODE }, { "dec_dli",  &CTLTYPE_NODE }, { "lat",  &CTLTYPE_NODE }, { "hylink",  &CTLTYPE_NODE }, { "appletalk",  &CTLTYPE_NODE }, { "route",  &CTLTYPE_NODE }, { "link_layer",  &CTLTYPE_NODE }, { "xtp",  &CTLTYPE_NODE }, { "coip",  &CTLTYPE_NODE }, { "cnt",  &CTLTYPE_NODE }, { "rtip",  &CTLTYPE_NODE }, { "ipx",  &CTLTYPE_NODE }, { "sip",  &CTLTYPE_NODE }, { "pip",  &CTLTYPE_NODE }, };}';
    eval 'sub NET_RT_DUMP {1;}';
    eval 'sub NET_RT_FLAGS {2;}';
    eval 'sub NET_RT_IFLIST {3;}';
    eval 'sub NET_RT_MAXID {4;}';
    eval 'sub CTL_NET_RT_NAMES {{ { 0, 0 }, { "dump",  &CTLTYPE_STRUCT }, { "flags",  &CTLTYPE_STRUCT }, { "iflist",  &CTLTYPE_STRUCT }, };}';
    eval 'sub SOMAXCONN {5;}';
    eval 'sub MSG_OOB {0x1;}';
    eval 'sub MSG_PEEK {0x2;}';
    eval 'sub MSG_DONTROUTE {0x4;}';
    eval 'sub MSG_EOR {0x8;}';
    eval 'sub MSG_TRUNC {0x10;}';
    eval 'sub MSG_CTRUNC {0x20;}';
    eval 'sub MSG_WAITALL {0x40;}';
    eval 'sub MSG_DONTWAIT {0x80;}';
    eval 'sub CMSG_DATA {
        local($cmsg) = @_;
        eval "((($cmsg) + 1))";
    }';
    eval 'sub CMSG_NXTHDR {
        local($mhdr, $cmsg) = @_;
        eval "((( &caddr_t)($cmsg) + ($cmsg)-> &cmsg_len + $sizeof{\'struct cmsghdr\'} > ($mhdr)-> &msg_control + ($mhdr)-> &msg_controllen) ?  &NULL : (( &caddr_t)($cmsg) +  &ALIGN(($cmsg)-> &cmsg_len)))";
    }';
    eval 'sub CMSG_FIRSTHDR {
        local($mhdr) = @_;
        eval "(($mhdr)-> &msg_control)";
    }';
    eval 'sub SCM_RIGHTS {0x01;}';
    if (!defined &KERNEL) {
	require 'sys/cdefs.ph';
    }
}
1;
