diff --git a/Lib/plat-darwin/IN.py b/Lib/plat-darwin/IN.py
new file mode 100644
index 0000000..6b6be33
--- /dev/null
+++ b/Lib/plat-darwin/IN.py
@@ -0,0 +1,662 @@
+# Generated by h2py from /usr/include/netinet/in.h
+
+# Included from sys/appleapiopts.h
+
+# Included from sys/_types.h
+
+# Included from sys/cdefs.h
+def __P(protos): return protos
+
+def __STRING(x): return #x
+
+def __P(protos): return ()
+
+def __STRING(x): return "x"
+
+def __attribute__(x): return
+
+def __COPYRIGHT(s): return __IDSTRING(copyright,s)
+
+def __RCSID(s): return __IDSTRING(rcsid,s)
+
+def __SCCSID(s): return __IDSTRING(sccsid,s)
+
+def __PROJECT_VERSION(s): return __IDSTRING(project_version,s)
+
+__DARWIN_UNIX03 = 1
+__DARWIN_UNIX03 = 0
+__DARWIN_UNIX03 = 0
+__DARWIN_UNIX03 = 1
+__DARWIN_64_BIT_INO_T = 1
+__DARWIN_64_BIT_INO_T = 0
+__DARWIN_64_BIT_INO_T = 0
+__DARWIN_NON_CANCELABLE = 0
+__DARWIN_VERS_1050 = 1
+__DARWIN_VERS_1050 = 0
+__DARWIN_SUF_UNIX03 = "$UNIX2003"
+__DARWIN_SUF_UNIX03_SET = 1
+__DARWIN_SUF_UNIX03_SET = 0
+__DARWIN_SUF_64_BIT_INO_T = "$INODE64"
+__DARWIN_SUF_NON_CANCELABLE = "$NOCANCEL"
+__DARWIN_SUF_1050 = "$1050"
+__DARWIN_SUF_UNIX03_SET = 0
+__DARWIN_SUF_EXTSN = "$DARWIN_EXTSN"
+__DARWIN_LONG_DOUBLE_IS_DOUBLE = 0
+def __DARWIN_LDBL_COMPAT(x): return
+
+def __DARWIN_LDBL_COMPAT2(x): return
+
+__DARWIN_LONG_DOUBLE_IS_DOUBLE = 1
+def __DARWIN_LDBL_COMPAT(x): return
+
+def __DARWIN_LDBL_COMPAT2(x): return
+
+__DARWIN_LONG_DOUBLE_IS_DOUBLE = 0
+_DARWIN_FEATURE_LONG_DOUBLE_IS_DOUBLE = 1
+_DARWIN_FEATURE_UNIX_CONFORMANCE = 3
+_DARWIN_FEATURE_64_BIT_INODE = 1
+
+# Included from machine/_types.h
+__PTHREAD_SIZE__ = 1168
+__PTHREAD_ATTR_SIZE__ = 56
+__PTHREAD_MUTEXATTR_SIZE__ = 8
+__PTHREAD_MUTEX_SIZE__ = 56
+__PTHREAD_CONDATTR_SIZE__ = 8
+__PTHREAD_COND_SIZE__ = 40
+__PTHREAD_ONCE_SIZE__ = 8
+__PTHREAD_RWLOCK_SIZE__ = 192
+__PTHREAD_RWLOCKATTR_SIZE__ = 16
+__PTHREAD_SIZE__ = 596
+__PTHREAD_ATTR_SIZE__ = 36
+__PTHREAD_MUTEXATTR_SIZE__ = 8
+__PTHREAD_MUTEX_SIZE__ = 40
+__PTHREAD_CONDATTR_SIZE__ = 4
+__PTHREAD_COND_SIZE__ = 24
+__PTHREAD_ONCE_SIZE__ = 4
+__PTHREAD_RWLOCK_SIZE__ = 124
+__PTHREAD_RWLOCKATTR_SIZE__ = 12
+__DARWIN_NULL = 0
+
+# Included from stdint.h
+__WORDSIZE = 64
+__WORDSIZE = 32
+INT8_MAX = 127
+INT16_MAX = 32767
+INT32_MAX = 2147483647
+INT8_MIN = -128
+INT16_MIN = -32768
+INT32_MIN = (-INT32_MAX-1)
+UINT8_MAX = 255
+UINT16_MAX = 65535
+INT_LEAST8_MIN = INT8_MIN
+INT_LEAST16_MIN = INT16_MIN
+INT_LEAST32_MIN = INT32_MIN
+INT_LEAST8_MAX = INT8_MAX
+INT_LEAST16_MAX = INT16_MAX
+INT_LEAST32_MAX = INT32_MAX
+UINT_LEAST8_MAX = UINT8_MAX
+UINT_LEAST16_MAX = UINT16_MAX
+INT_FAST8_MIN = INT8_MIN
+INT_FAST16_MIN = INT16_MIN
+INT_FAST32_MIN = INT32_MIN
+INT_FAST8_MAX = INT8_MAX
+INT_FAST16_MAX = INT16_MAX
+INT_FAST32_MAX = INT32_MAX
+UINT_FAST8_MAX = UINT8_MAX
+UINT_FAST16_MAX = UINT16_MAX
+INTPTR_MIN = INT32_MIN
+INTPTR_MAX = INT32_MAX
+PTRDIFF_MIN = INT32_MIN
+PTRDIFF_MAX = INT32_MAX
+WCHAR_MAX = 0x7fffffff
+WCHAR_MIN = 0
+WCHAR_MIN = (-WCHAR_MAX-1)
+WINT_MIN = INT32_MIN
+WINT_MAX = INT32_MAX
+SIG_ATOMIC_MIN = INT32_MIN
+SIG_ATOMIC_MAX = INT32_MAX
+def INT8_C(v): return (v)
+
+def INT16_C(v): return (v)
+
+def INT32_C(v): return (v)
+
+
+# Included from sys/socket.h
+
+# Included from machine/_param.h
+SOCK_STREAM = 1
+SOCK_DGRAM = 2
+SOCK_RAW = 3
+SOCK_RDM = 4
+SOCK_SEQPACKET = 5
+SO_DEBUG = 0x0001
+SO_ACCEPTCONN = 0x0002
+SO_REUSEADDR = 0x0004
+SO_KEEPALIVE = 0x0008
+SO_DONTROUTE = 0x0010
+SO_BROADCAST = 0x0020
+SO_USELOOPBACK = 0x0040
+SO_LINGER = 0x0080
+SO_LINGER = 0x1080
+SO_OOBINLINE = 0x0100
+SO_REUSEPORT = 0x0200
+SO_TIMESTAMP = 0x0400
+SO_ACCEPTFILTER = 0x1000
+SO_DONTTRUNC = 0x2000
+SO_WANTMORE = 0x4000
+SO_WANTOOBFLAG = 0x8000
+SO_SNDBUF = 0x1001
+SO_RCVBUF = 0x1002
+SO_SNDLOWAT = 0x1003
+SO_RCVLOWAT = 0x1004
+SO_SNDTIMEO = 0x1005
+SO_RCVTIMEO = 0x1006
+SO_ERROR = 0x1007
+SO_TYPE = 0x1008
+SO_NREAD = 0x1020
+SO_NKE = 0x1021
+SO_NOSIGPIPE = 0x1022
+SO_NOADDRERR = 0x1023
+SO_NWRITE = 0x1024
+SO_REUSESHAREUID = 0x1025
+SO_NOTIFYCONFLICT = 0x1026
+SO_LINGER_SEC = 0x1080
+SO_RESTRICTIONS = 0x1081
+SO_RESTRICT_DENYIN = 0x00000001
+SO_RESTRICT_DENYOUT = 0x00000002
+SO_RESTRICT_DENYSET = (-2147483648)
+SO_LABEL = 0x1010
+SO_PEERLABEL = 0x1011
+SOL_SOCKET = 0xffff
+AF_UNSPEC = 0
+AF_UNIX = 1
+AF_LOCAL = AF_UNIX
+AF_INET = 2
+AF_IMPLINK = 3
+AF_PUP = 4
+AF_CHAOS = 5
+AF_NS = 6
+AF_ISO = 7
+AF_OSI = AF_ISO
+AF_ECMA = 8
+AF_DATAKIT = 9
+AF_CCITT = 10
+AF_SNA = 11
+AF_DECnet = 12
+AF_DLI = 13
+AF_LAT = 14
+AF_HYLINK = 15
+AF_APPLETALK = 16
+AF_ROUTE = 17
+AF_LINK = 18
+pseudo_AF_XTP = 19
+AF_COIP = 20
+AF_CNT = 21
+pseudo_AF_RTIP = 22
+AF_IPX = 23
+AF_SIP = 24
+pseudo_AF_PIP = 25
+AF_NDRV = 27
+AF_ISDN = 28
+AF_E164 = AF_ISDN
+pseudo_AF_KEY = 29
+AF_INET6 = 30
+AF_NATM = 31
+AF_SYSTEM = 32
+AF_NETBIOS = 33
+AF_PPP = 34
+AF_ATM = 30
+pseudo_AF_HDRCMPLT = 35
+AF_RESERVED_36 = 36
+AF_NETGRAPH = 32
+AF_MAX = 37
+SOCK_MAXADDRLEN = 255
+_SS_MAXSIZE = 128
+PF_UNSPEC = AF_UNSPEC
+PF_LOCAL = AF_LOCAL
+PF_UNIX = PF_LOCAL
+PF_INET = AF_INET
+PF_IMPLINK = AF_IMPLINK
+PF_PUP = AF_PUP
+PF_CHAOS = AF_CHAOS
+PF_NS = AF_NS
+PF_ISO = AF_ISO
+PF_OSI = AF_ISO
+PF_ECMA = AF_ECMA
+PF_DATAKIT = AF_DATAKIT
+PF_CCITT = AF_CCITT
+PF_SNA = AF_SNA
+PF_DECnet = AF_DECnet
+PF_DLI = AF_DLI
+PF_LAT = AF_LAT
+PF_HYLINK = AF_HYLINK
+PF_APPLETALK = AF_APPLETALK
+PF_ROUTE = AF_ROUTE
+PF_LINK = AF_LINK
+PF_XTP = pseudo_AF_XTP
+PF_COIP = AF_COIP
+PF_CNT = AF_CNT
+PF_SIP = AF_SIP
+PF_IPX = AF_IPX
+PF_RTIP = pseudo_AF_RTIP
+PF_PIP = pseudo_AF_PIP
+PF_NDRV = AF_NDRV
+PF_ISDN = AF_ISDN
+PF_KEY = pseudo_AF_KEY
+PF_INET6 = AF_INET6
+PF_NATM = AF_NATM
+PF_SYSTEM = AF_SYSTEM
+PF_NETBIOS = AF_NETBIOS
+PF_PPP = AF_PPP
+PF_RESERVED_36 = AF_RESERVED_36
+PF_ATM = AF_ATM
+PF_NETGRAPH = AF_NETGRAPH
+PF_MAX = AF_MAX
+NET_MAXID = AF_MAX
+NET_RT_DUMP = 1
+NET_RT_FLAGS = 2
+NET_RT_IFLIST = 3
+NET_RT_STAT = 4
+NET_RT_TRASH = 5
+NET_RT_IFLIST2 = 6
+NET_RT_DUMP2 = 7
+NET_RT_MAXID = 8
+SOMAXCONN = 128
+MSG_OOB = 0x1
+MSG_PEEK = 0x2
+MSG_DONTROUTE = 0x4
+MSG_EOR = 0x8
+MSG_TRUNC = 0x10
+MSG_CTRUNC = 0x20
+MSG_WAITALL = 0x40
+MSG_DONTWAIT = 0x80
+MSG_EOF = 0x100
+MSG_WAITSTREAM = 0x200
+MSG_FLUSH = 0x400
+MSG_HOLD = 0x800
+MSG_SEND = 0x1000
+MSG_HAVEMORE = 0x2000
+MSG_RCVMORE = 0x4000
+MSG_NEEDSA = 0x10000
+CMGROUP_MAX = 16
+SCM_RIGHTS = 0x01
+SCM_TIMESTAMP = 0x02
+SCM_CREDS = 0x03
+SHUT_RD = 0
+SHUT_WR = 1
+SHUT_RDWR = 2
+
+# Included from machine/endian.h
+
+# Included from sys/_endian.h
+def ntohl(x): return (x)
+
+def ntohs(x): return (x)
+
+def htonl(x): return (x)
+
+def htons(x): return (x)
+
+def NTOHL(x): return (x)
+
+def NTOHS(x): return (x)
+
+def HTONL(x): return (x)
+
+def HTONS(x): return (x)
+
+
+# Included from libkern/_OSByteOrder.h
+def __DARWIN_OSSwapConstInt16(x): return \
+
+def __DARWIN_OSSwapConstInt32(x): return \
+
+def __DARWIN_OSSwapConstInt64(x): return \
+
+
+# Included from libkern/i386/_OSByteOrder.h
+def __DARWIN_OSSwapInt16(x): return \
+
+def __DARWIN_OSSwapInt32(x): return \
+
+def __DARWIN_OSSwapInt64(x): return \
+
+def __DARWIN_OSSwapInt16(x): return _OSSwapInt16(x)
+
+def __DARWIN_OSSwapInt32(x): return _OSSwapInt32(x)
+
+def __DARWIN_OSSwapInt64(x): return _OSSwapInt64(x)
+
+def ntohs(x): return __DARWIN_OSSwapInt16(x)
+
+def htons(x): return __DARWIN_OSSwapInt16(x)
+
+def ntohl(x): return __DARWIN_OSSwapInt32(x)
+
+def htonl(x): return __DARWIN_OSSwapInt32(x)
+
+IPPROTO_IP = 0
+IPPROTO_HOPOPTS = 0
+IPPROTO_ICMP = 1
+IPPROTO_IGMP = 2
+IPPROTO_GGP = 3
+IPPROTO_IPV4 = 4
+IPPROTO_IPIP = IPPROTO_IPV4
+IPPROTO_TCP = 6
+IPPROTO_ST = 7
+IPPROTO_EGP = 8
+IPPROTO_PIGP = 9
+IPPROTO_RCCMON = 10
+IPPROTO_NVPII = 11
+IPPROTO_PUP = 12
+IPPROTO_ARGUS = 13
+IPPROTO_EMCON = 14
+IPPROTO_XNET = 15
+IPPROTO_CHAOS = 16
+IPPROTO_UDP = 17
+IPPROTO_MUX = 18
+IPPROTO_MEAS = 19
+IPPROTO_HMP = 20
+IPPROTO_PRM = 21
+IPPROTO_IDP = 22
+IPPROTO_TRUNK1 = 23
+IPPROTO_TRUNK2 = 24
+IPPROTO_LEAF1 = 25
+IPPROTO_LEAF2 = 26
+IPPROTO_RDP = 27
+IPPROTO_IRTP = 28
+IPPROTO_TP = 29
+IPPROTO_BLT = 30
+IPPROTO_NSP = 31
+IPPROTO_INP = 32
+IPPROTO_SEP = 33
+IPPROTO_3PC = 34
+IPPROTO_IDPR = 35
+IPPROTO_XTP = 36
+IPPROTO_DDP = 37
+IPPROTO_CMTP = 38
+IPPROTO_TPXX = 39
+IPPROTO_IL = 40
+IPPROTO_IPV6 = 41
+IPPROTO_SDRP = 42
+IPPROTO_ROUTING = 43
+IPPROTO_FRAGMENT = 44
+IPPROTO_IDRP = 45
+IPPROTO_RSVP = 46
+IPPROTO_GRE = 47
+IPPROTO_MHRP = 48
+IPPROTO_BHA = 49
+IPPROTO_ESP = 50
+IPPROTO_AH = 51
+IPPROTO_INLSP = 52
+IPPROTO_SWIPE = 53
+IPPROTO_NHRP = 54
+IPPROTO_ICMPV6 = 58
+IPPROTO_NONE = 59
+IPPROTO_DSTOPTS = 60
+IPPROTO_AHIP = 61
+IPPROTO_CFTP = 62
+IPPROTO_HELLO = 63
+IPPROTO_SATEXPAK = 64
+IPPROTO_KRYPTOLAN = 65
+IPPROTO_RVD = 66
+IPPROTO_IPPC = 67
+IPPROTO_ADFS = 68
+IPPROTO_SATMON = 69
+IPPROTO_VISA = 70
+IPPROTO_IPCV = 71
+IPPROTO_CPNX = 72
+IPPROTO_CPHB = 73
+IPPROTO_WSN = 74
+IPPROTO_PVP = 75
+IPPROTO_BRSATMON = 76
+IPPROTO_ND = 77
+IPPROTO_WBMON = 78
+IPPROTO_WBEXPAK = 79
+IPPROTO_EON = 80
+IPPROTO_VMTP = 81
+IPPROTO_SVMTP = 82
+IPPROTO_VINES = 83
+IPPROTO_TTP = 84
+IPPROTO_IGP = 85
+IPPROTO_DGP = 86
+IPPROTO_TCF = 87
+IPPROTO_IGRP = 88
+IPPROTO_OSPFIGP = 89
+IPPROTO_SRPC = 90
+IPPROTO_LARP = 91
+IPPROTO_MTP = 92
+IPPROTO_AX25 = 93
+IPPROTO_IPEIP = 94
+IPPROTO_MICP = 95
+IPPROTO_SCCSP = 96
+IPPROTO_ETHERIP = 97
+IPPROTO_ENCAP = 98
+IPPROTO_APES = 99
+IPPROTO_GMTP = 100
+IPPROTO_IPCOMP = 108
+IPPROTO_PIM = 103
+IPPROTO_PGM = 113
+IPPROTO_DIVERT = 254
+IPPROTO_RAW = 255
+IPPROTO_MAX = 256
+IPPROTO_DONE = 257
+__DARWIN_IPPORT_RESERVED = 1024
+IPPORT_RESERVED = __DARWIN_IPPORT_RESERVED
+IPPORT_USERRESERVED = 5000
+IPPORT_HIFIRSTAUTO = 49152
+IPPORT_HILASTAUTO = 65535
+IPPORT_RESERVEDSTART = 600
+def IN_CLASSA(i): return (((u_int32_t)(i) & (-2147483648)) == 0)
+
+IN_CLASSA_NET = (-16777216)
+IN_CLASSA_NSHIFT = 24
+IN_CLASSA_HOST = 0x00ffffff
+IN_CLASSA_MAX = 128
+def IN_CLASSB(i): return (((u_int32_t)(i) & (-1073741824)) == (-2147483648))
+
+IN_CLASSB_NET = (-65536)
+IN_CLASSB_NSHIFT = 16
+IN_CLASSB_HOST = 0x0000ffff
+IN_CLASSB_MAX = 65536
+def IN_CLASSC(i): return (((u_int32_t)(i) & (-536870912)) == (-1073741824))
+
+IN_CLASSC_NET = (-256)
+IN_CLASSC_NSHIFT = 8
+IN_CLASSC_HOST = 0x000000ff
+def IN_CLASSD(i): return (((u_int32_t)(i) & (-268435456)) == (-536870912))
+
+IN_CLASSD_NET = (-268435456)
+IN_CLASSD_NSHIFT = 28
+IN_CLASSD_HOST = 0x0fffffff
+def IN_MULTICAST(i): return IN_CLASSD(i)
+
+def IN_EXPERIMENTAL(i): return (((u_int32_t)(i) & (-268435456)) == (-268435456))
+
+def IN_BADCLASS(i): return (((u_int32_t)(i) & (-268435456)) == (-268435456))
+
+INADDR_NONE = (-1)
+def IN_LINKLOCAL(i): return (((u_int32_t)(i) & IN_CLASSB_NET) == IN_LINKLOCALNETNUM)
+
+IN_LOOPBACKNET = 127
+INET_ADDRSTRLEN = 16
+IP_OPTIONS = 1
+IP_HDRINCL = 2
+IP_TOS = 3
+IP_TTL = 4
+IP_RECVOPTS = 5
+IP_RECVRETOPTS = 6
+IP_RECVDSTADDR = 7
+IP_RETOPTS = 8
+IP_MULTICAST_IF = 9
+IP_MULTICAST_TTL = 10
+IP_MULTICAST_LOOP = 11
+IP_ADD_MEMBERSHIP = 12
+IP_DROP_MEMBERSHIP = 13
+IP_MULTICAST_VIF = 14
+IP_RSVP_ON = 15
+IP_RSVP_OFF = 16
+IP_RSVP_VIF_ON = 17
+IP_RSVP_VIF_OFF = 18
+IP_PORTRANGE = 19
+IP_RECVIF = 20
+IP_IPSEC_POLICY = 21
+IP_FAITH = 22
+IP_STRIPHDR = 23
+IP_RECVTTL = 24
+IP_FW_ADD = 40
+IP_FW_DEL = 41
+IP_FW_FLUSH = 42
+IP_FW_ZERO = 43
+IP_FW_GET = 44
+IP_FW_RESETLOG = 45
+IP_OLD_FW_ADD = 50
+IP_OLD_FW_DEL = 51
+IP_OLD_FW_FLUSH = 52
+IP_OLD_FW_ZERO = 53
+IP_OLD_FW_GET = 54
+IP_NAT__XXX = 55
+IP_OLD_FW_RESETLOG = 56
+IP_DUMMYNET_CONFIGURE = 60
+IP_DUMMYNET_DEL = 61
+IP_DUMMYNET_FLUSH = 62
+IP_DUMMYNET_GET = 64
+IP_TRAFFIC_MGT_BACKGROUND = 65
+IP_FORCE_OUT_IFP = 69
+TRAFFIC_MGT_SO_BACKGROUND = 0x0001
+TRAFFIC_MGT_SO_BG_SUPPRESSED = 0x0002
+IP_DEFAULT_MULTICAST_TTL = 1
+IP_DEFAULT_MULTICAST_LOOP = 1
+IP_MAX_MEMBERSHIPS = 20
+IP_PORTRANGE_DEFAULT = 0
+IP_PORTRANGE_HIGH = 1
+IP_PORTRANGE_LOW = 2
+IPPROTO_MAXID = (IPPROTO_AH + 1)
+IPCTL_FORWARDING = 1
+IPCTL_SENDREDIRECTS = 2
+IPCTL_DEFTTL = 3
+IPCTL_DEFMTU = 4
+IPCTL_RTEXPIRE = 5
+IPCTL_RTMINEXPIRE = 6
+IPCTL_RTMAXCACHE = 7
+IPCTL_SOURCEROUTE = 8
+IPCTL_DIRECTEDBROADCAST = 9
+IPCTL_INTRQMAXLEN = 10
+IPCTL_INTRQDROPS = 11
+IPCTL_STATS = 12
+IPCTL_ACCEPTSOURCEROUTE = 13
+IPCTL_FASTFORWARDING = 14
+IPCTL_KEEPFAITH = 15
+IPCTL_GIF_TTL = 16
+IPCTL_MAXID = 17
+
+# Included from netinet6/in6.h
+__KAME_VERSION = "20010528/apple-darwin"
+IPV6PORT_RESERVED = 1024
+IPV6PORT_ANONMIN = 49152
+IPV6PORT_ANONMAX = 65535
+IPV6PORT_RESERVEDMIN = 600
+IPV6PORT_RESERVEDMAX = (IPV6PORT_RESERVED-1)
+INET6_ADDRSTRLEN = 46
+def IN6_IS_ADDR_UNSPECIFIED(a): return \
+
+def IN6_IS_ADDR_LOOPBACK(a): return \
+
+def IN6_IS_ADDR_V4COMPAT(a): return \
+
+def IN6_IS_ADDR_V4MAPPED(a): return \
+
+__IPV6_ADDR_SCOPE_NODELOCAL = 0x01
+__IPV6_ADDR_SCOPE_LINKLOCAL = 0x02
+__IPV6_ADDR_SCOPE_SITELOCAL = 0x05
+__IPV6_ADDR_SCOPE_ORGLOCAL = 0x08
+__IPV6_ADDR_SCOPE_GLOBAL = 0x0e
+def IN6_IS_ADDR_LINKLOCAL(a): return \
+
+def IN6_IS_ADDR_SITELOCAL(a): return \
+
+def IN6_IS_ADDR_MC_NODELOCAL(a): return \
+
+def IN6_IS_ADDR_MC_LINKLOCAL(a): return \
+
+def IN6_IS_ADDR_MC_SITELOCAL(a): return \
+
+def IN6_IS_ADDR_MC_ORGLOCAL(a): return \
+
+def IN6_IS_ADDR_MC_GLOBAL(a): return \
+
+IPV6_OPTIONS = 1
+IPV6_RECVOPTS = 5
+IPV6_RECVRETOPTS = 6
+IPV6_RECVDSTADDR = 7
+IPV6_RETOPTS = 8
+IPV6_SOCKOPT_RESERVED1 = 3
+IPV6_UNICAST_HOPS = 4
+IPV6_MULTICAST_IF = 9
+IPV6_MULTICAST_HOPS = 10
+IPV6_MULTICAST_LOOP = 11
+IPV6_JOIN_GROUP = 12
+IPV6_LEAVE_GROUP = 13
+IPV6_PORTRANGE = 14
+ICMP6_FILTER = 18
+IPV6_PKTINFO = 19
+IPV6_HOPLIMIT = 20
+IPV6_NEXTHOP = 21
+IPV6_HOPOPTS = 22
+IPV6_DSTOPTS = 23
+IPV6_RTHDR = 24
+IPV6_PKTOPTIONS = 25
+IPV6_CHECKSUM = 26
+IPV6_V6ONLY = 27
+IPV6_BINDV6ONLY = IPV6_V6ONLY
+IPV6_IPSEC_POLICY = 28
+IPV6_FAITH = 29
+IPV6_FW_ADD = 30
+IPV6_FW_DEL = 31
+IPV6_FW_FLUSH = 32
+IPV6_FW_ZERO = 33
+IPV6_FW_GET = 34
+IPV6_RTHDR_LOOSE = 0
+IPV6_RTHDR_STRICT = 1
+IPV6_RTHDR_TYPE_0 = 0
+IPV6_DEFAULT_MULTICAST_HOPS = 1
+IPV6_DEFAULT_MULTICAST_LOOP = 1
+IPV6_PORTRANGE_DEFAULT = 0
+IPV6_PORTRANGE_HIGH = 1
+IPV6_PORTRANGE_LOW = 2
+IPV6PROTO_MAXID = (IPPROTO_PIM + 1)
+IPV6CTL_FORWARDING = 1
+IPV6CTL_SENDREDIRECTS = 2
+IPV6CTL_DEFHLIM = 3
+IPV6CTL_DEFMTU = 4
+IPV6CTL_FORWSRCRT = 5
+IPV6CTL_STATS = 6
+IPV6CTL_MRTSTATS = 7
+IPV6CTL_MRTPROTO = 8
+IPV6CTL_MAXFRAGPACKETS = 9
+IPV6CTL_SOURCECHECK = 10
+IPV6CTL_SOURCECHECK_LOGINT = 11
+IPV6CTL_ACCEPT_RTADV = 12
+IPV6CTL_KEEPFAITH = 13
+IPV6CTL_LOG_INTERVAL = 14
+IPV6CTL_HDRNESTLIMIT = 15
+IPV6CTL_DAD_COUNT = 16
+IPV6CTL_AUTO_FLOWLABEL = 17
+IPV6CTL_DEFMCASTHLIM = 18
+IPV6CTL_GIF_HLIM = 19
+IPV6CTL_KAME_VERSION = 20
+IPV6CTL_USE_DEPRECATED = 21
+IPV6CTL_RR_PRUNE = 22
+IPV6CTL_MAPPED_ADDR = 23
+IPV6CTL_V6ONLY = 24
+IPV6CTL_RTEXPIRE = 25
+IPV6CTL_RTMINEXPIRE = 26
+IPV6CTL_RTMAXCACHE = 27
+IPV6CTL_USETEMPADDR = 32
+IPV6CTL_TEMPPLTIME = 33
+IPV6CTL_TEMPVLTIME = 34
+IPV6CTL_AUTO_LINKLOCAL = 35
+IPV6CTL_RIP6STATS = 36
+IPV6CTL_MAXFRAGS = 41
+IPV6CTL_MAXID = 42
diff --git a/Lib/plat-darwin/regen b/Lib/plat-darwin/regen
new file mode 100755
index 0000000..a20cdc1
--- /dev/null
+++ b/Lib/plat-darwin/regen
@@ -0,0 +1,3 @@
+#! /bin/sh
+set -v
+python$EXE ../../Tools/scripts/h2py.py -i '(u_long)' /usr/include/netinet/in.h
