# Generated by h2py from /usr/include/netinet/in.h

# Included from standards.h
_AIXVERSION_430 = 1
_AIXVERSION_431 = 1
_AIXVERSION_434 = 1
_AIXVERSION_510 = 1
_AIXVERSION_520 = 1
_AIXVERSION_530 = 1
_AIXVERSION_610 = 1
_XOPEN_SOURCE = 1
_XOPEN_SOURCE = 700
_XOPEN_SOURCE_EXTENDED = 1
_POSIX_C_SOURCE = 200809L
_XOPEN_SOURCE = 600
_XOPEN_SOURCE_EXTENDED = 1
_POSIX_C_SOURCE = 200112L
_XOPEN_SOURCE = 500
_XOPEN_SOURCE_EXTENDED = 1
_XOPEN_SOURCE_EXTENDED = 1
_XOPEN_SOURCE = 1
_XOPEN_ARMOR_SOURCE = 100
_XOPEN_SOURCE = 600
_POSIX_C_SOURCE = 200112L
_XOPEN_SOURCE_EXTENDED = 1
_XOPEN_ARMOR_SOURCE = 100
_XOPEN_SOURCE = 600
_XOPEN_SOURCE_EXTENDED = 1
_POSIX_C_SOURCE = 200112L
_POSIX_C_SOURCE = 199506L
__bool__ = bool

# Included from strict_stdtypes.h

# Included from sys/types.h

# Included from sys/inttypes.h

# Included from stdint.h
INT8_MIN = (-128)
INT16_MIN = (-32767-1)
INT32_MIN = (-2147483647-1)
INT8_MAX = (127)
INT16_MAX = (32767)
INT32_MAX = (2147483647)
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
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
INTMAX_MIN = INT32_MIN
INTMAX_MAX = INT32_MAX
INTPTR_MIN = INT32_MIN
INTPTR_MAX = INT32_MAX
PTRDIFF_MIN = INT32_MIN
PTRDIFF_MAX = INT32_MAX
SIG_ATOMIC_MIN = INT32_MIN
SIG_ATOMIC_MAX = INT32_MAX
WCHAR_MIN = 0
WINT_MIN = INT32_MIN
WINT_MAX = INT32_MAX
def INT8_C(c): return c

def INT16_C(c): return c

def INT32_C(c): return c

def INT64_C(c): return __CONCAT__(c,LL)

def INT64_C(c): return __CONCAT__(c,L)

def UINT8_C(c): return __CONCAT__(c,U)

def UINT16_C(c): return __CONCAT__(c,U)

def UINT32_C(c): return __CONCAT__(c,U)

def UINT64_C(c): return __CONCAT__(c,ULL)

def UINT64_C(c): return __CONCAT__(c,UL)

def INTMAX_C(c): return __CONCAT__(c,LL)

def UINTMAX_C(c): return __CONCAT__(c,ULL)

def INTMAX_C(c): return __CONCAT__(c,L)

def UINTMAX_C(c): return __CONCAT__(c,UL)

PRId8 = "hhd"
PRId16 = "hd"
PRId32 = "d"
PRId64 = "ld"
PRId64 = "lld"
PRIdLEAST8 = "hhd"
PRIdLEAST16 = "hd"
PRIdLEAST32 = "d"
PRIdLEAST64 = "ld"
PRIdLEAST64 = "lld"
PRIdFAST8 = "hhd"
PRIdFAST16 = "hd"
PRIdFAST32 = "d"
PRIdFAST64 = "ld"
PRIdFAST64 = "lld"
PRIi8 = "hhi"
PRIi16 = "hi"
PRIi32 = "i"
PRIi64 = "li"
PRIi64 = "lli"
PRIiLEAST8 = "hhi"
PRIiLEAST16 = "hi"
PRIiLEAST32 = "i"
PRIiLEAST64 = "li"
PRIiLEAST64 = "lli"
PRIiFAST8 = "hhi"
PRIiFAST16 = "hi"
PRIiFAST32 = "i"
PRIiFAST64 = "li"
PRIiFAST64 = "lli"
PRIo8 = "hho"
PRIo16 = "ho"
PRIo32 = "o"
PRIo64 = "lo"
PRIo64 = "llo"
PRIoLEAST8 = "ho"
PRIoLEAST16 = "ho"
PRIoLEAST32 = "o"
PRIoLEAST64 = "lo"
PRIoLEAST64 = "llo"
PRIoFAST8 = "hho"
PRIoFAST16 = "ho"
PRIoFAST32 = "o"
PRIoFAST64 = "lo"
PRIoFAST64 = "llo"
PRIx8 = "hhx"
PRIx16 = "hx"
PRIx32 = "x"
PRIx64 = "lx"
PRIx64 = "llx"
PRIxLEAST8 = "hhx"
PRIxLEAST16 = "hx"
PRIxLEAST32 = "x"
PRIxLEAST64 = "lx"
PRIxLEAST64 = "llx"
PRIxFAST8 = "hhx"
PRIxFAST16 = "hx"
PRIxFAST32 = "x"
PRIxFAST64 = "lx"
PRIxFAST64 = "llx"
PRIX8 = "hhX"
PRIX16 = "hX"
PRIX32 = "X"
PRIX64 = "lX"
PRIX64 = "llX"
PRIXLEAST8 = "hhX"
PRIXLEAST16 = "hX"
PRIXLEAST32 = "X"
PRIXLEAST64 = "lX"
PRIXLEAST64 = "llX"
PRIXFAST8 = "hhX"
PRIXFAST16 = "hX"
PRIXFAST32 = "X"
PRIXFAST64 = "lX"
PRIXFAST64 = "llX"
PRIu8 = "hhu"
PRIu16 = "hu"
PRIu32 = "u"
PRIu64 = "lu"
PRIu64 = "llu"
PRIuLEAST8 = "hhu"
PRIuLEAST16 = "hu"
PRIuLEAST32 = "u"
PRIuLEAST64 = "lu"
PRIuLEAST64 = "llu"
PRIuFAST8 = "hhu"
PRIuFAST16 = "hu"
PRIuFAST32 = "u"
PRIuFAST64 = "lu"
PRIuFAST64 = "llu"
SCNd8 = "hhd"
SCNd16 = "hd"
SCNd32 = "d"
SCNd64 = "ld"
SCNd64 = "lld"
SCNdLEAST8 = "hhd"
SCNdLEAST16 = "hd"
SCNdLEAST32 = "d"
SCNdLEAST64 = "ld"
SCNdLEAST64 = "lld"
SCNdFAST8 = "hhd"
SCNdFAST16 = "hd"
SCNdFAST32 = "d"
SCNdFAST64 = "ld"
SCNdFAST64 = "lld"
SCNi8 = "hhi"
SCNi16 = "hi"
SCNi32 = "i"
SCNi64 = "li"
SCNi64 = "lli"
SCNiFAST8 = "hhi"
SCNiFAST16 = "hi"
SCNiFAST32 = "i"
SCNiFAST64 = "li"
SCNiFAST64 = "lli"
SCNiLEAST8 = "hhi"
SCNiLEAST16 = "hi"
SCNiLEAST32 = "i"
SCNiLEAST64 = "li"
SCNiLEAST64 = "lli"
SCNo8 = "hho"
SCNo16 = "ho"
SCNo32 = "o"
SCNo64 = "lo"
SCNo64 = "llo"
SCNoFAST8 = "hho"
SCNoFAST16 = "ho"
SCNoFAST32 = "o"
SCNoFAST64 = "lo"
SCNoFAST64 = "llo"
SCNoLEAST8 = "hho"
SCNoLEAST16 = "ho"
SCNoLEAST32 = "o"
SCNoLEAST64 = "lo"
SCNoLEAST64 = "llo"
SCNu8 = "hhu"
SCNu16 = "hu"
SCNu32 = "u"
SCNu64 = "lu"
SCNu64 = "llu"
SCNuFAST8 = "hhu"
SCNuFAST16 = "hu"
SCNuFAST32 = "u"
SCNuFAST64 = "lu"
SCNuFAST64 = "llu"
SCNuLEAST8 = "hhu"
SCNuLEAST16 = "hu"
SCNuLEAST32 = "u"
SCNuLEAST64 = "lu"
SCNuLEAST64 = "llu"
SCNx8 = "hhx"
SCNx16 = "hx"
SCNx32 = "x"
SCNx64 = "lx"
SCNx64 = "llx"
SCNxFAST8 = "hhx"
SCNxFAST16 = "hx"
SCNxFAST32 = "x"
SCNxFAST64 = "lx"
SCNxFAST64 = "llx"
SCNxLEAST8 = "hhx"
SCNxLEAST16 = "hx"
SCNxLEAST32 = "x"
SCNxLEAST64 = "lx"
SCNxLEAST64 = "llx"
PRIdMAX = "lld"
PRIiMAX = "lld"
PRIoMAX = "llo"
PRIxMAX = "llx"
PRIXMAX = "llX"
PRIuMAX = "llu"
PRIdMAX = "ld"
PRIiMAX = "ld"
PRIoMAX = "lo"
PRIxMAX = "lx"
PRIXMAX = "lX"
PRIuMAX = "lu"
PRIdFAST = "d"
PRIoFAST = "o"
PRIxFAST = "x"
PRIuFAST = "u"
PRIdPTR = "ld"
PRIiPTR = "ld"
PRIoPTR = "lo"
PRIxPTR = "lx"
PRIXPTR = "lX"
PRIuPTR = "lu"
SCNdMAX = "lld"
SCNiMAX = "lld"
SCNoMAX = "llo"
SCNxMAX = "llx"
SCNuMAX = "llu"
SCNdMAX = "ld"
SCNiMAX = "ld"
SCNoMAX = "lo"
SCNxMAX = "lx"
SCNuMAX = "lu"
SCNdFAST = "d"
SCNoFAST = "o"
SCNxFAST = "x"
SCNuFAST = "u"
SCNdPTR = "ld"
SCNiPTR = "ld"
SCNoPTR = "lo"
SCNxPTR = "lx"
SCNuPTR = "lu"
INTFAST_MIN = INT32_MIN
INTFAST_MAX = INT32_MAX

# Included from end_strict_stdtypes.h

# Included from sys/m_types.h

# Included from sys/vm_types.h
FWADUMP_DATA = 0x1
MAXSRNUM = 7
NULL = 0
TRUE = 1
FALSE = 0
NBBY = 8
FHSIZE = 32
MAXFIDSZ = 20
FHSIZE = 32
MAXFIDSZ = 64

# Included from sys/select.h

# Included from sys/time.h
ITIMER_REAL = 0
ITIMER_VIRTUAL = 1
ITIMER_PROF = 2
ITIMER_VIRT = 3
ITIMER_REAL1 = 20
ITIMER_REAL_TH = ITIMER_REAL1
DST_NONE = 0
DST_USA = 1
DST_AUST = 2
DST_WET = 3
DST_MET = 4
DST_EET = 5
DST_CAN = 6
FD_SETSIZE = 65534
def FD_ZERO(p): return memset((p), 0, sizeof(*(p)))

TIMEOFDAY = 9
TIMERID_ALRM = (ITIMER_REAL)
TIMERID_REAL = (ITIMER_REAL)
TIMERID_VIRTUAL = (ITIMER_VIRTUAL)
TIMERID_PROF = (ITIMER_PROF)
TIMERID_VIRT = (ITIMER_VIRT)
TIMERID_TOD = (TIMERID_VIRT+1)
TIMERID_REAL1 = (ITIMER_REAL1)
TIMERID_REAL_TH = TIMERID_REAL1
NALRM = 1
NPROF = 1
NVIRTUAL = 2
NTIMEOFDAY = 5
NTIMERS = (NALRM + NPROF + NVIRTUAL + NTIMEOFDAY)
NALRM_THREAD = 1
NTIMERS_THREAD = (NALRM_THREAD)
MIN_SECS_SINCE_EPOCH = 0
uS_PER_SECOND = (1000000)
NS_PER_uS = (1000)
MAX_SECS_TO_uS = 4000
MAX_NS_TO_uS = 294967296
NS_PER_SEC = 1000000000
uS_PER_SEC = (NS_PER_SEC / 1000)
NS_PER_MSEC = (NS_PER_SEC / 1000)
MS_PER_SEC = 1000
MAX_DEC_SECS = 2
MAX_DEC_NS = 147483647

# Included from time.h
NULL = 0
CLOCKS_PER_SEC = 1000000
CLK_TCK = 100
TIMER_ABSTIME = 999

# Included from stddef.h
NULL = 0
TIMELEN = 26
NLTBMAX = 64
NO_TIMEOUT = 0
INF_TIMEOUT = -1
def NFDS(x): return ((x) & 0x0000FFFF)

def LOW_HALF(x): return NFDS(x)

def NMSGS(x): return (((x) >> 16) & 0x0000FFFF)

def HIGH_HALF(x): return NMSGS(x)

def major(__x): return (int)((unsigned)(__x)>>16)

def minor(__x): return (int)((__x)&0xFFFF)

INET6_ADDRSTRLEN = 46
IPPROTO_IP = 0
IPPROTO_HOPOPTS = 0
IPPROTO_ICMP = 1
IPPROTO_IGMP = 2
IPPROTO_GGP = 3
IPPROTO_IPIP = 4
IPPROTO_TCP = 6
IPPROTO_EGP = 8
IPPROTO_PUP = 12
IPPROTO_UDP = 17
IPPROTO_IDP = 22
IPPROTO_TP = 29
IPPROTO_IPV6 = 41
IPPROTO_ROUTING = 43
IPPROTO_FRAGMENT = 44
IPPROTO_QOS = 45
IPPROTO_RSVP = 46
IPPROTO_GRE = 47
IPPROTO_ESP = 50
IPPROTO_AH = 51
IPPROTO_ICMPV6 = 58
IPPROTO_NONE = 59
IPPROTO_DSTOPTS = 60
IPPROTO_LOCAL = 63
IPPROTO_EON = 80
IPPROTO_BIP = 0x53
IPPROTO_SCTP = 132
IPPROTO_MH = 135
IPPROTO_GIF = 140
IPPROTO_RAW = 255
IPPROTO_MAX = 256
INADDR_NONE = 0xffffffff
IPPORT_RESERVED = 1024
IPPORT_USERRESERVED = 5000
IPPORT_TIMESERVER = 37
def IN_CLASSA(i): return (((int32_t)(i) & 0x80000000) == 0)

IN_CLASSA_NET = 0xff000000
IN_CLASSA_NSHIFT = 24
IN_CLASSA_HOST = 0x00ffffff
IN_CLASSA_MAX = 128
def IN_CLASSB(i): return (((int32_t)(i) & 0xc0000000) == 0x80000000)

IN_CLASSB_NET = 0xffff0000
IN_CLASSB_NSHIFT = 16
IN_CLASSB_HOST = 0x0000ffff
IN_CLASSB_MAX = 65536
def IN_CLASSC(i): return (((int32_t)(i) & 0xe0000000) == 0xc0000000)

IN_CLASSC_NET = 0xffffff00
IN_CLASSC_NSHIFT = 8
IN_CLASSC_HOST = 0x000000ff
def IN_CLASSD(i): return (((int32_t)(i) & 0xf0000000) == 0xe0000000)

def IN_MULTICAST(i): return IN_CLASSD(i)

IN_CLASSD_NET = 0xf0000000
IN_CLASSD_NSHIFT = 28
IN_CLASSD_HOST = 0x0fffffff
def IN_EXPERIMENTAL(i): return (((int32_t)(i) & 0xe0000000) == 0xe0000000)

def IN_BADCLASS(i): return (((int32_t)(i) & 0xf0000000) == 0xf0000000)

IN_LOOPBACKNET = 127
IP_OPTIONS = 1
IP_HDRINCL = 2
IP_TOS = 3
IP_TTL = 4
IP_UNICAST_HOPS = IP_TTL
IP_RECVOPTS = 5
IP_RECVRETOPTS = 6
IP_RECVDSTADDR = 7
IP_RETOPTS = 8
IP_MULTICAST_IF = 9
IP_MULTICAST_TTL = 10
IP_MULTICAST_HOPS = IP_MULTICAST_TTL
IP_MULTICAST_LOOP = 11
IP_ADD_MEMBERSHIP = 12
IP_DROP_MEMBERSHIP = 13
IP_RECVMACHDR = 14
IP_RECVIFINFO = 15
IP_BROADCAST_IF = 16
IP_DHCPMODE = 17
IP_RECVIF = 20
IP_ADDRFORM = 22
IP_DONTFRAG = 25
IP_FINDPMTU = 26
IP_PMTUAGE = 27
IP_RECVINTERFACE = 32
IP_RECVTTL = 34
IP_BLOCK_SOURCE = 58
IP_UNBLOCK_SOURCE = 59
IP_ADD_SOURCE_MEMBERSHIP = 60
IP_DROP_SOURCE_MEMBERSHIP = 61
IP_DEFAULT_MULTICAST_TTL = 1
IP_DEFAULT_MULTICAST_LOOP = 1
IP_INC_MEMBERSHIPS = 20
IP_INIT_MEMBERSHIP = 20

# Included from sys/machine.h
LITTLE_ENDIAN = 1234
BIG_ENDIAN = 4321
PDP_ENDIAN = 3412
BYTE_ORDER = BIG_ENDIAN
DEFAULT_GPR = 0xDEADBEEF
MSR_VMX = 0x2000000
MSR_VSX = 0x800000
MSR_EE = 0x8000
MSR_PR = 0x4000
MSR_FP = 0x2000
MSR_ME = 0x1000
MSR_FE = 0x0800
MSR_FE0 = 0x0800
MSR_SE = 0x0400
MSR_BE = 0x0200
MSR_IE = 0x0100
MSR_FE1 = 0x0100
MSR_AL = 0x0000
MSR_RSVD = 0x0080
MSR_IP = 0x0040
MSR_IR = 0x0020
MSR_DR = 0x0010
MSR_PM = 0x0004
MSR_RI = 0x0002
MSR_SF = (-9223372036854775808)
MSR_ISF = 0x2000000000000000L
DEFAULT_MSR = (MSR_SF|MSR_ISF|MSR_EE|MSR_ME|MSR_IR|MSR_DR|MSR_RI)
DEFAULT_USER_MSR = \
			(MSR_ISF|MSR_PR|MSR_EE|MSR_ME|MSR_IR|MSR_DR|MSR_RI)
DISABLED_NORI_MSR = \
			(MSR_SF|MSR_ISF|MSR_ME|MSR_IR|MSR_DR)
MSR_SF_H = 0xA0000000
DEFAULT_MSR = (MSR_EE|MSR_ME|MSR_IR|MSR_DR|MSR_RI)
DEFAULT_USER_MSR = (DEFAULT_MSR | MSR_PR)
MSR_SF_H = 0x80000000
CR_LT = 0x80000000
CR_GT = 0x40000000
CR_EQ = 0x20000000
CR_SO = 0x10000000
CR_FX = 0x08000000
CR_FEX = 0x04000000
CR_VX = 0x02000000
CR_OX = 0x01000000
XER_SO = 0x80000000
XER_OV = 0x40000000
XER_CA = 0x20000000
def XER_COMP_BYTE(xer): return ((xer >> 8) & 0x000000FF)

def XER_LENGTH(xer): return (xer & 0x0000007F)

DSISR_IO = 0x80000000
DSISR_PFT = 0x40000000
DSISR_LOCK = 0x20000000
DSISR_FPIO = 0x10000000
DSISR_PROT = 0x08000000
DSISR_LOOP = 0x04000000
DSISR_DRST = 0x04000000
DSISR_ST = 0x02000000
DSISR_SEGB = 0x01000000
DSISR_DAC = 0x00400000
DSISR_DABR = 0x00400000
DSISR_STAB = 0x00200000
DSISR_SKEY = 0x00200000
DSISR_EAR = 0x00100000
DSISR_COPV = 0x00004000
SRR_IS_PFT = 0x40000000
SRR_IS_ISPEC = 0x20000000
SRR_IS_IIO = 0x10000000
SRR_IS_GUARD = 0x10000000
SRR_IS_PROT = 0x08000000
SRR_IS_LOOP = 0x04000000
SRR_PR_FPEN = 0x00100000
SRR_PR_INVAL = 0x00080000
SRR_PR_PRIV = 0x00040000
SRR_PR_TRAP = 0x00020000
SRR_PR_IMPRE = 0x00010000
VSCR_SAT = 0x00000001
VSCR_NJ = 0x00010000
DPFD_DEFAULT = 0
DPFD_NONE = 1
DPFD_SHALLOWEST = 2
DPFD_SHALLOW = 3
DPFD_MEDIUM = 4
DPFD_DEEP = 5
DPFD_DEEPER = 6
DPFD_DEEPEST = 7
DSCR_SSE = (1<<3)
DSCR_SNSE = (1<<4)
DSCR_DLDP = (1<<5)
DSCR_LSD = DSCR_DLDP
URG_DEFAULT = (0<<6)
URG_NOT_URGENT = (1<<6)
URG_LEAST_URGENT = (2<<6)
URG_LESS_URGENT = (3<<6)
URG_MEDIUM = (4<<6)
URG_URGENT = (5<<6)
URG_MORE_URGENT = (6<<6)
URG_MOST_URGENT = (7<<6)
DSCR_MASK = 0x0F
DSCR_MASKV205 = DSCR_MASK
DSCR_MASKV206 = 0x3F
DSCR_MASKV206_1 = 0x3F
DSCR_MASKV206_2 = 0x1FF
DSCR_PROP_VER0 = 0x44530000
DSCR_PROP_VER1 = 0x44530001
DSCR_PROP_VER2 = 0x44530002
DSCR_PROP_VER = DSCR_PROP_VER2
DSCR_V205 = 0x205
DSCR_V206 = 0x206
DSCR_V206_1 = 0x10206
DSCR_V206_2 = 0x20206
DSCR_SYS_AUTO_OFF = 0
DSCR_SYS_AUTO_ON = 1
DSCR_PROP_SMTS = 5
DSCR_WRITE = 1
DSCR_READ = 2
DSCR_GET_PROPERTIES = 3
DSCR_SET_DEFAULT = 4
def BUID_7F_SRVAL(raddr): return (0x87F00000 | (((uint)(raddr)) >> 28))

BT_256M = 0x1FFC
BT_128M = 0x0FFC
BT_64M = 0x07FC
BT_32M = 0x03FC
BT_16M = 0x01FC
BT_8M = 0x00FC
BT_4M = 0x007C
BT_2M = 0x003C
BT_1M = 0x001C
BT_512K = 0x000C
BT_256K = 0x0004
BT_128K = 0x0000
BT_NOACCESS = 0x0
BT_RDONLY = 0x1
BT_WRITE = 0x2
BT_VS = 0x2
BT_VP = 0x1
def BAT_ESEG(dbatu): return (((uint)(dbatu) >> 28))

MIN_BAT_SIZE = 0x00020000
MAX_BAT_SIZE = 0x10000000
SLB_SIZE_MIN = 32
SLB_SIZE_MAX = 64
SLB_SIZE = SLB_SIZE_MAX
USER_SLB_START = 16
SLBR_TESID = 1
MAX_SLB_INDEX = 63
SLB_NUM_MASK = 0xcff
SLB_VALID = 0x08000000
SLB_E_RSVD = 0x07fffc00
SLB_Ks = 0x800
SLB_Kp = 0x400
SLB_N = 0x200
SLB_C = 0x80
SLB_TEMP0_INDEX = 0xB
SLB_TEMP1_INDEX = 0xC
SLB_TEMP2_INDEX = 0xD
SLB_TEMP3_INDEX = 0xE
def htonll(hostlong): return (hostlong)

def htonl(hostlong): return (hostlong)

def ntohll(netlong): return (netlong)

def ntohl(netlong): return (netlong)

def IS_LOOPADDR(a): return \

IPV6_TOKEN_LENGTH = 64
INET6_ADDRSTRLEN = 46
IN6ADDR_ANY_INIT = {0, 0, 0, 0}
IPV6ADDR_ANY_INIT = IN6ADDR_ANY_INIT
IN6ADDR_LOOPBACK_INIT = {0, 0, 0, 1}
IN6ADDR_LOOPBACK_INIT = {0, 0, 0, 0x01000000}
IPV6ADDR_LOOPBACK_INIT = IN6ADDR_LOOPBACK_INIT
_SS_MAXSIZE = 1280
ISFR_IF_INDEX = 1
ISFR_IF_IADDR = 2
def IP_SOURCE_FILTER_SIZE(numsrc): return \

def GROUP_SOURCE_FILTER_SIZE(numsrc): return \

IFNAMSIZ = 16
IF_NAMESIZE = IFNAMSIZ

# Included from net/nh.h
def ntohll(x): return (x)

def ntohl(x): return (x)

def ntohs(x): return (x)

def htonll(x): return (x)

def htonl(x): return (x)

def htons(x): return (x)

INET_ADDRSTRLEN = 16
IPNGVERSION = 6
IPV6_FLOWINFO_FLOWLABEL = 0x00ffffff
IPV6_FLOWINFO_PRIORITY = 0x0f000000
IPV6_FLOWINFO_PRIFLOW = 0x0fffffff
IPV6_FLOWINFO_SRFLAG = 0x10000000
IPV6_FLOWINFO_VERSION = 0xf0000000
IPV6_PRIORITY_UNCHARACTERIZED = 0x00000000
IPV6_PRIORITY_FILLER = 0x01000000
IPV6_PRIORITY_UNATTENDED = 0x02000000
IPV6_PRIORITY_RESERVED1 = 0x03000000
IPV6_PRIORITY_BULK = 0x04000000
IPV6_PRIORITY_RESERVED2 = 0x05000000
IPV6_PRIORITY_INTERACTIVE = 0x06000000
IPV6_PRIORITY_CONTROL = 0x07000000
IPV6_PRIORITY_8 = 0x08000000
IPV6_PRIORITY_9 = 0x09000000
IPV6_PRIORITY_10 = 0x0a000000
IPV6_PRIORITY_11 = 0x0b000000
IPV6_PRIORITY_12 = 0x0c000000
IPV6_PRIORITY_13 = 0x0d000000
IPV6_PRIORITY_14 = 0x0e000000
IPV6_PRIORITY_15 = 0x0f000000
IPV6_SRFLAG_STRICT = 0x10000000
IPV6_SRFLAG_LOOSE = 0x00000000
IPV6_VERSION = 0x60000000
def IPV6_GET_FLOWLABEL(x): return (ntohl(x) & 0x00ffffff)

def IPV6_GET_PRIORITY(x): return ((ntohl(x) >> 24) & 0xf)

def IPV6_SET_FLOWLABEL(x): return (htonl(x) & IPV6_FLOWINFO_FLOWLABEL)

def IPV6_SET_PRIORITY(x): return (htonl((x & 0xf) << 24))

def CLR_ADDR6(a): return \

def IA6_TO_ARRAY16(a): return \

def IS_ANYSOCKADDR(a): return \

def IS_ANYADDR6(a): return \

def IS_COMPATSOCKADDR(a): return \

def IS_COMPATADDR6(a): return \

def IS_LOOPSOCKADDR(a): return \

def IS_LOOPADDR6(a): return \

def IS_IPV4SOCK_ANYADDR(a): return \

def IS_IPV4SOCKADDR(a): return \

def IS_IPV4ADDR6(a): return \

def IS_LOOPSOCKADDR(a): return \

def IS_LOOPADDR6(a): return \

def IS_IPV4SOCK_ANYADDR(a): return \

def IS_IPV4SOCKADDR(a): return \

def IS_IPV4ADDR6(a): return \

def IS_LOCALADDR6(a): return ((a).s6_addr8[0] == 0xfe)

def IS_LINKLADDR6(a): return \

def IS_SITELADDR6(a): return \

def IS_MULTIADDR6(a): return ((a).s6_addr8[0] == 0xff)

def MADDR6_FLAGS(a): return ((a).s6_addr8[1] >> 4)

MADDR6_FLG_WK = 0
MADDR6_FLG_TS = 1
def MADDR6_SCOPE(a): return ((a).s6_addr8[1] & 0x0f)

ADDR6_SCP_0 = 0x0
ADDR6_SCP_MIN = ADDR6_SCP_0
ADDR6_SCP_NODE = 0x1
ADDR6_SCP_INTF = 0x1
ADDR6_SCP_LINK = 0x2
ADDR6_SCP_3 = 0x3
ADDR6_SCP_ADMIN = 0x4
ADDR6_SCP_SITE = 0x5
ADDR6_SCP_6 = 0x6
ADDR6_SCP_7 = 0x7
ADDR6_SCP_ORG = 0x8
ADDR6_SCP_9 = 0x9
ADDR6_SCP_A = 0xA
ADDR6_SCP_B = 0xB
ADDR6_SCP_C = 0xC
ADDR6_SCP_D = 0xD
ADDR6_SCP_GLOBAL = 0xE
ADDR6_SCP_F = 0xF
ADDR6_SCP_MAX = ADDR6_SCP_F
ADDR6_NUMSCOPES = (ADDR6_SCP_MAX+1)
UADDR6_SELECT_NODE = ADDR6_SCP_NODE
UADDR6_SELECT_INTF = ADDR6_SCP_INTF
UADDR6_SELECT_LINK = ADDR6_SCP_LINK
UADDR6_SELECT_SITE = ADDR6_SCP_SITE
UADDR6_SELECT_ORG = ADDR6_SCP_ORG
UADDR6_SELECT_GLOBAL = ADDR6_SCP_GLOBAL
UADDR6_SCOPE_MAX = 0xF
MADDR6_SCOPE_MIN = 0
MADDR6_SCP_NODE = ADDR6_SCP_NODE
MADDR6_SCP_INTF = ADDR6_SCP_INTF
MADDR6_SCP_LINK = ADDR6_SCP_LINK
MADDR6_SCP_3 = ADDR6_SCP_3
MADDR6_SCP_ADMIN = ADDR6_SCP_ADMIN
MADDR6_SCP_SITE = ADDR6_SCP_SITE
MADDR6_SCP_6 = ADDR6_SCP_6
MADDR6_SCP_7 = ADDR6_SCP_7
MADDR6_SCP_ORG = ADDR6_SCP_ORG
MADDR6_SCP_9 = ADDR6_SCP_9
MADDR6_SCP_A = ADDR6_SCP_A
MADDR6_SCP_B = ADDR6_SCP_B
MADDR6_SCP_C = ADDR6_SCP_C
MADDR6_SCP_D = ADDR6_SCP_D
MADDR6_SCP_GLO = ADDR6_SCP_GLOBAL
MADDR6_SCOPE_MAX = MADDR6_SCP_GLO
MADDR6_ALLNODES = 1
MADDR6_ALLROUTERS = 2
MADDR6_ALLHOSTS = 3
def IN6_IS_ADDR_UNSPECIFIED(p): return IS_ANYADDR6(*p)

def IN6_IS_ADDR_LOOPBACK(p): return IS_LOOPADDR6(*p)

def IN6_IS_ADDR_MULTICAST(p): return IS_MULTIADDR6(*p)

def IN6_IS_ADDR_LINKLOCAL(p): return IS_LINKLADDR6(*p)

def IN6_IS_ADDR_SITELOCAL(p): return IS_SITELADDR6(*p)

def IN6_IS_ADDR_V4MAPPED(p): return IS_IPV4ADDR6(*p)

def IN6_IS_ADDR_V4COMPAT(p): return IS_COMPATADDR6(*p)

def IN6_IS_ADDR_MC_NODELOCAL(p): return \

def IN6_IS_ADDR_MC_INTFLOCAL(p): return \

def IN6_IS_ADDR_MC_LINKLOCAL(p): return \

def IN6_IS_ADDR_MC_ADMINLOCAL(p): return \

def IN6_IS_ADDR_MC_SITELOCAL(p): return \

def IN6_IS_ADDR_MC_ORGLOCAL(p): return \

def IN6_IS_ADDR_MC_GLOBAL(p): return \

IPV6_UNICAST_HOPS = IP_TTL
IPV6_MULTICAST_IF = IP_MULTICAST_IF
IPV6_MULTICAST_HOPS = IP_MULTICAST_TTL
IPV6_MULTICAST_LOOP = IP_MULTICAST_LOOP
IPV6_ADD_MEMBERSHIP = IP_ADD_MEMBERSHIP
IPV6_JOIN_GROUP = IP_ADD_MEMBERSHIP
IPV6_DROP_MEMBERSHIP = IP_DROP_MEMBERSHIP
IPV6_LEAVE_GROUP = IP_DROP_MEMBERSHIP
IPV6_ADDRFORM = IP_ADDRFORM
IPV6_NOPROBE = 28
IPV6_RECVSRCRT = 29
IPV6_RECVIF = 30
IPV6_SENDIF = 31
IPV6_PKTINFO = 33
IPV6_RECVHOPS = IP_RECVTTL
IPV6_RECVPKTINFO = 35
IPV6_PKTOPTIONS = 36
IPV6_V6ONLY = 37
FLOW6_RAND = 49
ICMP6_FILTER = 38
IPV6_CHECKSUM = 39
IPV6_HOPLIMIT = 40
IPV6_RECVHOPLIMIT = 41
IPV6_RECVTCLASS = 42
IPV6_TCLASS = 43
IPV6_USE_MIN_MTU = 44
IPV6_DONTFRAG = 45
IPV6_PATHMTU = 46
IPV6_RECVPATHMTU = 47
IPV6_NEXTHOP = 48
IPV6_RTHDR = 50
IPV6_RECVRTHDR = 51
IPV6_HOPOPTS = 52
IPV6_RECVHOPOPTS = 53
IPV6_DSTOPTS = 54
IPV6_RTHDRDSTOPTS = 55
IPV6_MIPDSTOPTS = IPV6_DSTOPTS
IPV6_RECVDSTOPTS = 56
IPV6_AIXRAWSOCKET = 57
MCAST_JOIN_GROUP = 62
MCAST_LEAVE_GROUP = 63
MCAST_BLOCK_SOURCE = 64
MCAST_UNBLOCK_SOURCE = 65
MCAST_JOIN_SOURCE_GROUP = 66
MCAST_LEAVE_SOURCE_GROUP = 67
ICMP6_SEC_SEND_SET = 68
ICMP6_SEC_SEND_SET_CGA_ADDR = 69
ICMP6_SEC_SEND_DEL = 70
ICMP6_SEC_SEND_GET = 71
IP_SOURCE_FILTER = 72
MCAST_SOURCE_FILTER = 73
IPV6_ADDR_PREFERENCES = 74
IPV6_RTHDR_TYPE_0 = 0
IPV6_RTHDR_TYPE_2 = 2
MCAST_INCLUDE = 1
MCAST_EXCLUDE = 2
IPV6_PREFER_SRC_HOME = 0x01
IPV6_PREFER_SRC_COA = 0x02
IPV6_PREFER_SRC_PUBLIC = 0x04
IPV6_PREFER_SRC_TMP = 0x08
IPV6_PREFER_SRC_CGA = 0x10
IPV6_PREFER_SRC_NONCGA = 0x20