summaryrefslogtreecommitdiff
path: root/Lib/plat-linux
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-08-20 23:39:26 +0200
committerVictor Stinner <victor.stinner@haypocalc.com>2011-08-20 23:39:26 +0200
commit39e0b7cc6683e7eb8987fbf3fe94e40f32f90449 (patch)
tree1839a81c78e0856e1f8d1d8ebbbee9a180661487 /Lib/plat-linux
parentd3758a796e311e1e3099727cc3389d62a184edcf (diff)
downloadcpython-39e0b7cc6683e7eb8987fbf3fe94e40f32f90449.tar.gz
Close #12326: sys.platform is now always 'linux' on Linux
On Linux, sys.platform doesn't contain the major version anymore. It is now always 'linux', instead of 'linux2' or 'linux3' depending on the Linux version used to build Python.
Diffstat (limited to 'Lib/plat-linux')
-rw-r--r--Lib/plat-linux/CDROM.py207
-rw-r--r--Lib/plat-linux/DLFCN.py83
-rw-r--r--Lib/plat-linux/IN.py615
-rw-r--r--Lib/plat-linux/TYPES.py170
-rwxr-xr-xLib/plat-linux/regen8
5 files changed, 1083 insertions, 0 deletions
diff --git a/Lib/plat-linux/CDROM.py b/Lib/plat-linux/CDROM.py
new file mode 100644
index 0000000000..434093684c
--- /dev/null
+++ b/Lib/plat-linux/CDROM.py
@@ -0,0 +1,207 @@
+# Generated by h2py from /usr/include/linux/cdrom.h
+
+CDROMPAUSE = 0x5301
+CDROMRESUME = 0x5302
+CDROMPLAYMSF = 0x5303
+CDROMPLAYTRKIND = 0x5304
+CDROMREADTOCHDR = 0x5305
+CDROMREADTOCENTRY = 0x5306
+CDROMSTOP = 0x5307
+CDROMSTART = 0x5308
+CDROMEJECT = 0x5309
+CDROMVOLCTRL = 0x530a
+CDROMSUBCHNL = 0x530b
+CDROMREADMODE2 = 0x530c
+CDROMREADMODE1 = 0x530d
+CDROMREADAUDIO = 0x530e
+CDROMEJECT_SW = 0x530f
+CDROMMULTISESSION = 0x5310
+CDROM_GET_MCN = 0x5311
+CDROM_GET_UPC = CDROM_GET_MCN
+CDROMRESET = 0x5312
+CDROMVOLREAD = 0x5313
+CDROMREADRAW = 0x5314
+CDROMREADCOOKED = 0x5315
+CDROMSEEK = 0x5316
+CDROMPLAYBLK = 0x5317
+CDROMREADALL = 0x5318
+CDROMGETSPINDOWN = 0x531d
+CDROMSETSPINDOWN = 0x531e
+CDROMCLOSETRAY = 0x5319
+CDROM_SET_OPTIONS = 0x5320
+CDROM_CLEAR_OPTIONS = 0x5321
+CDROM_SELECT_SPEED = 0x5322
+CDROM_SELECT_DISC = 0x5323
+CDROM_MEDIA_CHANGED = 0x5325
+CDROM_DRIVE_STATUS = 0x5326
+CDROM_DISC_STATUS = 0x5327
+CDROM_CHANGER_NSLOTS = 0x5328
+CDROM_LOCKDOOR = 0x5329
+CDROM_DEBUG = 0x5330
+CDROM_GET_CAPABILITY = 0x5331
+CDROMAUDIOBUFSIZ = 0x5382
+DVD_READ_STRUCT = 0x5390
+DVD_WRITE_STRUCT = 0x5391
+DVD_AUTH = 0x5392
+CDROM_SEND_PACKET = 0x5393
+CDROM_NEXT_WRITABLE = 0x5394
+CDROM_LAST_WRITTEN = 0x5395
+CDROM_PACKET_SIZE = 12
+CGC_DATA_UNKNOWN = 0
+CGC_DATA_WRITE = 1
+CGC_DATA_READ = 2
+CGC_DATA_NONE = 3
+CD_MINS = 74
+CD_SECS = 60
+CD_FRAMES = 75
+CD_SYNC_SIZE = 12
+CD_MSF_OFFSET = 150
+CD_CHUNK_SIZE = 24
+CD_NUM_OF_CHUNKS = 98
+CD_FRAMESIZE_SUB = 96
+CD_HEAD_SIZE = 4
+CD_SUBHEAD_SIZE = 8
+CD_EDC_SIZE = 4
+CD_ZERO_SIZE = 8
+CD_ECC_SIZE = 276
+CD_FRAMESIZE = 2048
+CD_FRAMESIZE_RAW = 2352
+CD_FRAMESIZE_RAWER = 2646
+CD_FRAMESIZE_RAW1 = (CD_FRAMESIZE_RAW-CD_SYNC_SIZE)
+CD_FRAMESIZE_RAW0 = (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE)
+CD_XA_HEAD = (CD_HEAD_SIZE+CD_SUBHEAD_SIZE)
+CD_XA_TAIL = (CD_EDC_SIZE+CD_ECC_SIZE)
+CD_XA_SYNC_HEAD = (CD_SYNC_SIZE+CD_XA_HEAD)
+CDROM_LBA = 0x01
+CDROM_MSF = 0x02
+CDROM_DATA_TRACK = 0x04
+CDROM_LEADOUT = 0xAA
+CDROM_AUDIO_INVALID = 0x00
+CDROM_AUDIO_PLAY = 0x11
+CDROM_AUDIO_PAUSED = 0x12
+CDROM_AUDIO_COMPLETED = 0x13
+CDROM_AUDIO_ERROR = 0x14
+CDROM_AUDIO_NO_STATUS = 0x15
+CDC_CLOSE_TRAY = 0x1
+CDC_OPEN_TRAY = 0x2
+CDC_LOCK = 0x4
+CDC_SELECT_SPEED = 0x8
+CDC_SELECT_DISC = 0x10
+CDC_MULTI_SESSION = 0x20
+CDC_MCN = 0x40
+CDC_MEDIA_CHANGED = 0x80
+CDC_PLAY_AUDIO = 0x100
+CDC_RESET = 0x200
+CDC_IOCTLS = 0x400
+CDC_DRIVE_STATUS = 0x800
+CDC_GENERIC_PACKET = 0x1000
+CDC_CD_R = 0x2000
+CDC_CD_RW = 0x4000
+CDC_DVD = 0x8000
+CDC_DVD_R = 0x10000
+CDC_DVD_RAM = 0x20000
+CDS_NO_INFO = 0
+CDS_NO_DISC = 1
+CDS_TRAY_OPEN = 2
+CDS_DRIVE_NOT_READY = 3
+CDS_DISC_OK = 4
+CDS_AUDIO = 100
+CDS_DATA_1 = 101
+CDS_DATA_2 = 102
+CDS_XA_2_1 = 103
+CDS_XA_2_2 = 104
+CDS_MIXED = 105
+CDO_AUTO_CLOSE = 0x1
+CDO_AUTO_EJECT = 0x2
+CDO_USE_FFLAGS = 0x4
+CDO_LOCK = 0x8
+CDO_CHECK_TYPE = 0x10
+CD_PART_MAX = 64
+CD_PART_MASK = (CD_PART_MAX - 1)
+GPCMD_BLANK = 0xa1
+GPCMD_CLOSE_TRACK = 0x5b
+GPCMD_FLUSH_CACHE = 0x35
+GPCMD_FORMAT_UNIT = 0x04
+GPCMD_GET_CONFIGURATION = 0x46
+GPCMD_GET_EVENT_STATUS_NOTIFICATION = 0x4a
+GPCMD_GET_PERFORMANCE = 0xac
+GPCMD_INQUIRY = 0x12
+GPCMD_LOAD_UNLOAD = 0xa6
+GPCMD_MECHANISM_STATUS = 0xbd
+GPCMD_MODE_SELECT_10 = 0x55
+GPCMD_MODE_SENSE_10 = 0x5a
+GPCMD_PAUSE_RESUME = 0x4b
+GPCMD_PLAY_AUDIO_10 = 0x45
+GPCMD_PLAY_AUDIO_MSF = 0x47
+GPCMD_PLAY_AUDIO_TI = 0x48
+GPCMD_PLAY_CD = 0xbc
+GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL = 0x1e
+GPCMD_READ_10 = 0x28
+GPCMD_READ_12 = 0xa8
+GPCMD_READ_CDVD_CAPACITY = 0x25
+GPCMD_READ_CD = 0xbe
+GPCMD_READ_CD_MSF = 0xb9
+GPCMD_READ_DISC_INFO = 0x51
+GPCMD_READ_DVD_STRUCTURE = 0xad
+GPCMD_READ_FORMAT_CAPACITIES = 0x23
+GPCMD_READ_HEADER = 0x44
+GPCMD_READ_TRACK_RZONE_INFO = 0x52
+GPCMD_READ_SUBCHANNEL = 0x42
+GPCMD_READ_TOC_PMA_ATIP = 0x43
+GPCMD_REPAIR_RZONE_TRACK = 0x58
+GPCMD_REPORT_KEY = 0xa4
+GPCMD_REQUEST_SENSE = 0x03
+GPCMD_RESERVE_RZONE_TRACK = 0x53
+GPCMD_SCAN = 0xba
+GPCMD_SEEK = 0x2b
+GPCMD_SEND_DVD_STRUCTURE = 0xad
+GPCMD_SEND_EVENT = 0xa2
+GPCMD_SEND_KEY = 0xa3
+GPCMD_SEND_OPC = 0x54
+GPCMD_SET_READ_AHEAD = 0xa7
+GPCMD_SET_STREAMING = 0xb6
+GPCMD_START_STOP_UNIT = 0x1b
+GPCMD_STOP_PLAY_SCAN = 0x4e
+GPCMD_TEST_UNIT_READY = 0x00
+GPCMD_VERIFY_10 = 0x2f
+GPCMD_WRITE_10 = 0x2a
+GPCMD_WRITE_AND_VERIFY_10 = 0x2e
+GPCMD_SET_SPEED = 0xbb
+GPCMD_PLAYAUDIO_TI = 0x48
+GPCMD_GET_MEDIA_STATUS = 0xda
+GPMODE_R_W_ERROR_PAGE = 0x01
+GPMODE_WRITE_PARMS_PAGE = 0x05
+GPMODE_AUDIO_CTL_PAGE = 0x0e
+GPMODE_POWER_PAGE = 0x1a
+GPMODE_FAULT_FAIL_PAGE = 0x1c
+GPMODE_TO_PROTECT_PAGE = 0x1d
+GPMODE_CAPABILITIES_PAGE = 0x2a
+GPMODE_ALL_PAGES = 0x3f
+GPMODE_CDROM_PAGE = 0x0d
+DVD_STRUCT_PHYSICAL = 0x00
+DVD_STRUCT_COPYRIGHT = 0x01
+DVD_STRUCT_DISCKEY = 0x02
+DVD_STRUCT_BCA = 0x03
+DVD_STRUCT_MANUFACT = 0x04
+DVD_LAYERS = 4
+DVD_LU_SEND_AGID = 0
+DVD_HOST_SEND_CHALLENGE = 1
+DVD_LU_SEND_KEY1 = 2
+DVD_LU_SEND_CHALLENGE = 3
+DVD_HOST_SEND_KEY2 = 4
+DVD_AUTH_ESTABLISHED = 5
+DVD_AUTH_FAILURE = 6
+DVD_LU_SEND_TITLE_KEY = 7
+DVD_LU_SEND_ASF = 8
+DVD_INVALIDATE_AGID = 9
+DVD_LU_SEND_RPC_STATE = 10
+DVD_HOST_SEND_RPC_STATE = 11
+DVD_CPM_NO_COPYRIGHT = 0
+DVD_CPM_COPYRIGHTED = 1
+DVD_CP_SEC_NONE = 0
+DVD_CP_SEC_EXIST = 1
+DVD_CGMS_UNRESTRICTED = 0
+DVD_CGMS_SINGLE = 2
+DVD_CGMS_RESTRICTED = 3
+
+CDROM_MAX_SLOTS = 256
diff --git a/Lib/plat-linux/DLFCN.py b/Lib/plat-linux/DLFCN.py
new file mode 100644
index 0000000000..dd10ac4ead
--- /dev/null
+++ b/Lib/plat-linux/DLFCN.py
@@ -0,0 +1,83 @@
+# Generated by h2py from /usr/include/dlfcn.h
+_DLFCN_H = 1
+
+# Included from features.h
+_FEATURES_H = 1
+__USE_ANSI = 1
+__FAVOR_BSD = 1
+_ISOC99_SOURCE = 1
+_POSIX_SOURCE = 1
+_POSIX_C_SOURCE = 199506
+_XOPEN_SOURCE = 600
+_XOPEN_SOURCE_EXTENDED = 1
+_LARGEFILE64_SOURCE = 1
+_BSD_SOURCE = 1
+_SVID_SOURCE = 1
+_BSD_SOURCE = 1
+_SVID_SOURCE = 1
+__USE_ISOC99 = 1
+_POSIX_SOURCE = 1
+_POSIX_C_SOURCE = 2
+_POSIX_C_SOURCE = 199506
+__USE_POSIX = 1
+__USE_POSIX2 = 1
+__USE_POSIX199309 = 1
+__USE_POSIX199506 = 1
+__USE_XOPEN = 1
+__USE_XOPEN_EXTENDED = 1
+__USE_UNIX98 = 1
+_LARGEFILE_SOURCE = 1
+__USE_XOPEN2K = 1
+__USE_ISOC99 = 1
+__USE_XOPEN_EXTENDED = 1
+__USE_LARGEFILE = 1
+__USE_LARGEFILE64 = 1
+__USE_FILE_OFFSET64 = 1
+__USE_MISC = 1
+__USE_BSD = 1
+__USE_SVID = 1
+__USE_GNU = 1
+__USE_REENTRANT = 1
+__STDC_IEC_559__ = 1
+__STDC_IEC_559_COMPLEX__ = 1
+__STDC_ISO_10646__ = 200009
+__GNU_LIBRARY__ = 6
+__GLIBC__ = 2
+__GLIBC_MINOR__ = 2
+
+# Included from sys/cdefs.h
+_SYS_CDEFS_H = 1
+def __PMT(args): return args
+
+def __P(args): return args
+
+def __PMT(args): return args
+
+def __STRING(x): return #x
+
+__flexarr = []
+__flexarr = [0]
+__flexarr = []
+__flexarr = [1]
+def __ASMNAME(cname): return __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+
+def __attribute__(xyz): return
+
+def __attribute_format_arg__(x): return __attribute__ ((__format_arg__ (x)))
+
+def __attribute_format_arg__(x): return
+
+__USE_LARGEFILE = 1
+__USE_LARGEFILE64 = 1
+__USE_EXTERN_INLINES = 1
+
+# Included from gnu/stubs.h
+
+# Included from bits/dlfcn.h
+RTLD_LAZY = 0x00001
+RTLD_NOW = 0x00002
+RTLD_BINDING_MASK = 0x3
+RTLD_NOLOAD = 0x00004
+RTLD_GLOBAL = 0x00100
+RTLD_LOCAL = 0
+RTLD_NODELETE = 0x01000
diff --git a/Lib/plat-linux/IN.py b/Lib/plat-linux/IN.py
new file mode 100644
index 0000000000..d7d30024c2
--- /dev/null
+++ b/Lib/plat-linux/IN.py
@@ -0,0 +1,615 @@
+# Generated by h2py from /usr/include/netinet/in.h
+_NETINET_IN_H = 1
+
+# Included from features.h
+_FEATURES_H = 1
+__USE_ANSI = 1
+__FAVOR_BSD = 1
+_ISOC99_SOURCE = 1
+_POSIX_SOURCE = 1
+_POSIX_C_SOURCE = 199506
+_XOPEN_SOURCE = 600
+_XOPEN_SOURCE_EXTENDED = 1
+_LARGEFILE64_SOURCE = 1
+_BSD_SOURCE = 1
+_SVID_SOURCE = 1
+_BSD_SOURCE = 1
+_SVID_SOURCE = 1
+__USE_ISOC99 = 1
+_POSIX_SOURCE = 1
+_POSIX_C_SOURCE = 2
+_POSIX_C_SOURCE = 199506
+__USE_POSIX = 1
+__USE_POSIX2 = 1
+__USE_POSIX199309 = 1
+__USE_POSIX199506 = 1
+__USE_XOPEN = 1
+__USE_XOPEN_EXTENDED = 1
+__USE_UNIX98 = 1
+_LARGEFILE_SOURCE = 1
+__USE_XOPEN2K = 1
+__USE_ISOC99 = 1
+__USE_XOPEN_EXTENDED = 1
+__USE_LARGEFILE = 1
+__USE_LARGEFILE64 = 1
+__USE_FILE_OFFSET64 = 1
+__USE_MISC = 1
+__USE_BSD = 1
+__USE_SVID = 1
+__USE_GNU = 1
+__USE_REENTRANT = 1
+__STDC_IEC_559__ = 1
+__STDC_IEC_559_COMPLEX__ = 1
+__STDC_ISO_10646__ = 200009
+__GNU_LIBRARY__ = 6
+__GLIBC__ = 2
+__GLIBC_MINOR__ = 2
+
+# Included from sys/cdefs.h
+_SYS_CDEFS_H = 1
+def __PMT(args): return args
+
+def __P(args): return args
+
+def __PMT(args): return args
+
+def __STRING(x): return #x
+
+__flexarr = []
+__flexarr = [0]
+__flexarr = []
+__flexarr = [1]
+def __ASMNAME(cname): return __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+
+def __attribute__(xyz): return
+
+def __attribute_format_arg__(x): return __attribute__ ((__format_arg__ (x)))
+
+def __attribute_format_arg__(x): return
+
+__USE_LARGEFILE = 1
+__USE_LARGEFILE64 = 1
+__USE_EXTERN_INLINES = 1
+
+# Included from gnu/stubs.h
+
+# Included from stdint.h
+_STDINT_H = 1
+
+# Included from bits/wchar.h
+_BITS_WCHAR_H = 1
+__WCHAR_MIN = (-2147483647 - 1)
+__WCHAR_MAX = (2147483647)
+
+# Included from bits/wordsize.h
+__WORDSIZE = 32
+def __INT64_C(c): return c ## L
+
+def __UINT64_C(c): return c ## UL
+
+def __INT64_C(c): return c ## LL
+
+def __UINT64_C(c): return c ## ULL
+
+INT8_MIN = (-128)
+INT16_MIN = (-32767-1)
+INT32_MIN = (-2147483647-1)
+INT64_MIN = (-__INT64_C(9223372036854775807)-1)
+INT8_MAX = (127)
+INT16_MAX = (32767)
+INT32_MAX = (2147483647)
+INT64_MAX = (__INT64_C(9223372036854775807))
+UINT8_MAX = (255)
+UINT16_MAX = (65535)
+UINT64_MAX = (__UINT64_C(18446744073709551615))
+INT_LEAST8_MIN = (-128)
+INT_LEAST16_MIN = (-32767-1)
+INT_LEAST32_MIN = (-2147483647-1)
+INT_LEAST64_MIN = (-__INT64_C(9223372036854775807)-1)
+INT_LEAST8_MAX = (127)
+INT_LEAST16_MAX = (32767)
+INT_LEAST32_MAX = (2147483647)
+INT_LEAST64_MAX = (__INT64_C(9223372036854775807))
+UINT_LEAST8_MAX = (255)
+UINT_LEAST16_MAX = (65535)
+UINT_LEAST64_MAX = (__UINT64_C(18446744073709551615))
+INT_FAST8_MIN = (-128)
+INT_FAST16_MIN = (-9223372036854775807-1)
+INT_FAST32_MIN = (-9223372036854775807-1)
+INT_FAST16_MIN = (-2147483647-1)
+INT_FAST32_MIN = (-2147483647-1)
+INT_FAST64_MIN = (-__INT64_C(9223372036854775807)-1)
+INT_FAST8_MAX = (127)
+INT_FAST16_MAX = (9223372036854775807)
+INT_FAST32_MAX = (9223372036854775807)
+INT_FAST16_MAX = (2147483647)
+INT_FAST32_MAX = (2147483647)
+INT_FAST64_MAX = (__INT64_C(9223372036854775807))
+UINT_FAST8_MAX = (255)
+UINT_FAST64_MAX = (__UINT64_C(18446744073709551615))
+INTPTR_MIN = (-9223372036854775807-1)
+INTPTR_MAX = (9223372036854775807)
+INTPTR_MIN = (-2147483647-1)
+INTPTR_MAX = (2147483647)
+INTMAX_MIN = (-__INT64_C(9223372036854775807)-1)
+INTMAX_MAX = (__INT64_C(9223372036854775807))
+UINTMAX_MAX = (__UINT64_C(18446744073709551615))
+PTRDIFF_MIN = (-9223372036854775807-1)
+PTRDIFF_MAX = (9223372036854775807)
+PTRDIFF_MIN = (-2147483647-1)
+PTRDIFF_MAX = (2147483647)
+SIG_ATOMIC_MIN = (-2147483647-1)
+SIG_ATOMIC_MAX = (2147483647)
+WCHAR_MIN = __WCHAR_MIN
+WCHAR_MAX = __WCHAR_MAX
+def INT8_C(c): return c
+
+def INT16_C(c): return c
+
+def INT32_C(c): return c
+
+def INT64_C(c): return c ## L
+
+def INT64_C(c): return c ## LL
+
+def UINT8_C(c): return c ## U
+
+def UINT16_C(c): return c ## U
+
+def UINT32_C(c): return c ## U
+
+def UINT64_C(c): return c ## UL
+
+def UINT64_C(c): return c ## ULL
+
+def INTMAX_C(c): return c ## L
+
+def UINTMAX_C(c): return c ## UL
+
+def INTMAX_C(c): return c ## LL
+
+def UINTMAX_C(c): return c ## ULL
+
+
+# Included from bits/types.h
+_BITS_TYPES_H = 1
+__FD_SETSIZE = 1024
+
+# Included from bits/pthreadtypes.h
+_BITS_PTHREADTYPES_H = 1
+
+# Included from bits/sched.h
+SCHED_OTHER = 0
+SCHED_FIFO = 1
+SCHED_RR = 2
+CSIGNAL = 0x000000ff
+CLONE_VM = 0x00000100
+CLONE_FS = 0x00000200
+CLONE_FILES = 0x00000400
+CLONE_SIGHAND = 0x00000800
+CLONE_PID = 0x00001000
+CLONE_PTRACE = 0x00002000
+CLONE_VFORK = 0x00004000
+__defined_schedparam = 1
+def IN_CLASSA(a): return ((((in_addr_t)(a)) & (-2147483648)) == 0)
+
+IN_CLASSA_NET = (-16777216)
+IN_CLASSA_NSHIFT = 24
+IN_CLASSA_HOST = ((-1) & ~IN_CLASSA_NET)
+IN_CLASSA_MAX = 128
+def IN_CLASSB(a): return ((((in_addr_t)(a)) & (-1073741824)) == (-2147483648))
+
+IN_CLASSB_NET = (-65536)
+IN_CLASSB_NSHIFT = 16
+IN_CLASSB_HOST = ((-1) & ~IN_CLASSB_NET)
+IN_CLASSB_MAX = 65536
+def IN_CLASSC(a): return ((((in_addr_t)(a)) & (-536870912)) == (-1073741824))
+
+IN_CLASSC_NET = (-256)
+IN_CLASSC_NSHIFT = 8
+IN_CLASSC_HOST = ((-1) & ~IN_CLASSC_NET)
+def IN_CLASSD(a): return ((((in_addr_t)(a)) & (-268435456)) == (-536870912))
+
+def IN_MULTICAST(a): return IN_CLASSD(a)
+
+def IN_EXPERIMENTAL(a): return ((((in_addr_t)(a)) & (-536870912)) == (-536870912))
+
+def IN_BADCLASS(a): return ((((in_addr_t)(a)) & (-268435456)) == (-268435456))
+
+IN_LOOPBACKNET = 127
+INET_ADDRSTRLEN = 16
+INET6_ADDRSTRLEN = 46
+
+# Included from bits/socket.h
+
+# Included from limits.h
+_LIBC_LIMITS_H_ = 1
+MB_LEN_MAX = 16
+_LIMITS_H = 1
+CHAR_BIT = 8
+SCHAR_MIN = (-128)
+SCHAR_MAX = 127
+UCHAR_MAX = 255
+CHAR_MIN = 0
+CHAR_MAX = UCHAR_MAX
+CHAR_MIN = SCHAR_MIN
+CHAR_MAX = SCHAR_MAX
+SHRT_MIN = (-32768)
+SHRT_MAX = 32767
+USHRT_MAX = 65535
+INT_MAX = 2147483647
+LONG_MAX = 9223372036854775807
+LONG_MAX = 2147483647
+LONG_MIN = (-LONG_MAX - 1)
+
+# Included from bits/posix1_lim.h
+_BITS_POSIX1_LIM_H = 1
+_POSIX_AIO_LISTIO_MAX = 2
+_POSIX_AIO_MAX = 1
+_POSIX_ARG_MAX = 4096
+_POSIX_CHILD_MAX = 6
+_POSIX_DELAYTIMER_MAX = 32
+_POSIX_LINK_MAX = 8
+_POSIX_MAX_CANON = 255
+_POSIX_MAX_INPUT = 255
+_POSIX_MQ_OPEN_MAX = 8
+_POSIX_MQ_PRIO_MAX = 32
+_POSIX_NGROUPS_MAX = 0
+_POSIX_OPEN_MAX = 16
+_POSIX_FD_SETSIZE = _POSIX_OPEN_MAX
+_POSIX_NAME_MAX = 14
+_POSIX_PATH_MAX = 256
+_POSIX_PIPE_BUF = 512
+_POSIX_RTSIG_MAX = 8
+_POSIX_SEM_NSEMS_MAX = 256
+_POSIX_SEM_VALUE_MAX = 32767
+_POSIX_SIGQUEUE_MAX = 32
+_POSIX_SSIZE_MAX = 32767
+_POSIX_STREAM_MAX = 8
+_POSIX_TZNAME_MAX = 6
+_POSIX_QLIMIT = 1
+_POSIX_HIWAT = _POSIX_PIPE_BUF
+_POSIX_UIO_MAXIOV = 16
+_POSIX_TTY_NAME_MAX = 9
+_POSIX_TIMER_MAX = 32
+_POSIX_LOGIN_NAME_MAX = 9
+_POSIX_CLOCKRES_MIN = 20000000
+
+# Included from bits/local_lim.h
+
+# Included from linux/limits.h
+NR_OPEN = 1024
+NGROUPS_MAX = 32
+ARG_MAX = 131072
+CHILD_MAX = 999
+OPEN_MAX = 256
+LINK_MAX = 127
+MAX_CANON = 255
+MAX_INPUT = 255
+NAME_MAX = 255
+PATH_MAX = 4096
+PIPE_BUF = 4096
+RTSIG_MAX = 32
+_POSIX_THREAD_KEYS_MAX = 128
+PTHREAD_KEYS_MAX = 1024
+_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
+PTHREAD_DESTRUCTOR_ITERATIONS = _POSIX_THREAD_DESTRUCTOR_ITERATIONS
+_POSIX_THREAD_THREADS_MAX = 64
+PTHREAD_THREADS_MAX = 1024
+AIO_PRIO_DELTA_MAX = 20
+PTHREAD_STACK_MIN = 16384
+TIMER_MAX = 256
+SSIZE_MAX = LONG_MAX
+NGROUPS_MAX = _POSIX_NGROUPS_MAX
+
+# Included from bits/posix2_lim.h
+_BITS_POSIX2_LIM_H = 1
+_POSIX2_BC_BASE_MAX = 99
+_POSIX2_BC_DIM_MAX = 2048
+_POSIX2_BC_SCALE_MAX = 99
+_POSIX2_BC_STRING_MAX = 1000
+_POSIX2_COLL_WEIGHTS_MAX = 2
+_POSIX2_EXPR_NEST_MAX = 32
+_POSIX2_LINE_MAX = 2048
+_POSIX2_RE_DUP_MAX = 255
+_POSIX2_CHARCLASS_NAME_MAX = 14
+BC_BASE_MAX = _POSIX2_BC_BASE_MAX
+BC_DIM_MAX = _POSIX2_BC_DIM_MAX
+BC_SCALE_MAX = _POSIX2_BC_SCALE_MAX
+BC_STRING_MAX = _POSIX2_BC_STRING_MAX
+COLL_WEIGHTS_MAX = 255
+EXPR_NEST_MAX = _POSIX2_EXPR_NEST_MAX
+LINE_MAX = _POSIX2_LINE_MAX
+CHARCLASS_NAME_MAX = 2048
+RE_DUP_MAX = (0x7fff)
+
+# Included from bits/xopen_lim.h
+_XOPEN_LIM_H = 1
+
+# Included from bits/stdio_lim.h
+L_tmpnam = 20
+TMP_MAX = 238328
+FILENAME_MAX = 4096
+L_ctermid = 9
+L_cuserid = 9
+FOPEN_MAX = 16
+IOV_MAX = 1024
+_XOPEN_IOV_MAX = _POSIX_UIO_MAXIOV
+NL_ARGMAX = _POSIX_ARG_MAX
+NL_LANGMAX = _POSIX2_LINE_MAX
+NL_MSGMAX = INT_MAX
+NL_NMAX = INT_MAX
+NL_SETMAX = INT_MAX
+NL_TEXTMAX = INT_MAX
+NZERO = 20
+WORD_BIT = 16
+WORD_BIT = 32
+WORD_BIT = 64
+WORD_BIT = 16
+WORD_BIT = 32
+WORD_BIT = 64
+WORD_BIT = 32
+LONG_BIT = 32
+LONG_BIT = 64
+LONG_BIT = 32
+LONG_BIT = 64
+LONG_BIT = 64
+LONG_BIT = 32
+from TYPES import *
+PF_UNSPEC = 0
+PF_LOCAL = 1
+PF_UNIX = PF_LOCAL
+PF_FILE = PF_LOCAL
+PF_INET = 2
+PF_AX25 = 3
+PF_IPX = 4
+PF_APPLETALK = 5
+PF_NETROM = 6
+PF_BRIDGE = 7
+PF_ATMPVC = 8
+PF_X25 = 9
+PF_INET6 = 10
+PF_ROSE = 11
+PF_DECnet = 12
+PF_NETBEUI = 13
+PF_SECURITY = 14
+PF_KEY = 15
+PF_NETLINK = 16
+PF_ROUTE = PF_NETLINK
+PF_PACKET = 17
+PF_ASH = 18
+PF_ECONET = 19
+PF_ATMSVC = 20
+PF_SNA = 22
+PF_IRDA = 23
+PF_PPPOX = 24
+PF_WANPIPE = 25
+PF_BLUETOOTH = 31
+PF_MAX = 32
+AF_UNSPEC = PF_UNSPEC
+AF_LOCAL = PF_LOCAL
+AF_UNIX = PF_UNIX
+AF_FILE = PF_FILE
+AF_INET = PF_INET
+AF_AX25 = PF_AX25
+AF_IPX = PF_IPX
+AF_APPLETALK = PF_APPLETALK
+AF_NETROM = PF_NETROM
+AF_BRIDGE = PF_BRIDGE
+AF_ATMPVC = PF_ATMPVC
+AF_X25 = PF_X25
+AF_INET6 = PF_INET6
+AF_ROSE = PF_ROSE
+AF_DECnet = PF_DECnet
+AF_NETBEUI = PF_NETBEUI
+AF_SECURITY = PF_SECURITY
+AF_KEY = PF_KEY
+AF_NETLINK = PF_NETLINK
+AF_ROUTE = PF_ROUTE
+AF_PACKET = PF_PACKET
+AF_ASH = PF_ASH
+AF_ECONET = PF_ECONET
+AF_ATMSVC = PF_ATMSVC
+AF_SNA = PF_SNA
+AF_IRDA = PF_IRDA
+AF_PPPOX = PF_PPPOX
+AF_WANPIPE = PF_WANPIPE
+AF_BLUETOOTH = PF_BLUETOOTH
+AF_MAX = PF_MAX
+SOL_RAW = 255
+SOL_DECNET = 261
+SOL_X25 = 262
+SOL_PACKET = 263
+SOL_ATM = 264
+SOL_AAL = 265
+SOL_IRDA = 266
+SOMAXCONN = 128
+
+# Included from bits/sockaddr.h
+_BITS_SOCKADDR_H = 1
+def __SOCKADDR_COMMON(sa_prefix): return \
+
+_SS_SIZE = 128
+def CMSG_FIRSTHDR(mhdr): return \
+
+
+# Included from asm/socket.h
+
+# Included from asm/sockios.h
+FIOSETOWN = 0x8901
+SIOCSPGRP = 0x8902
+FIOGETOWN = 0x8903
+SIOCGPGRP = 0x8904
+SIOCATMARK = 0x8905
+SIOCGSTAMP = 0x8906
+SOL_SOCKET = 1
+SO_DEBUG = 1
+SO_REUSEADDR = 2
+SO_TYPE = 3
+SO_ERROR = 4
+SO_DONTROUTE = 5
+SO_BROADCAST = 6
+SO_SNDBUF = 7
+SO_RCVBUF = 8
+SO_KEEPALIVE = 9
+SO_OOBINLINE = 10
+SO_NO_CHECK = 11
+SO_PRIORITY = 12
+SO_LINGER = 13
+SO_BSDCOMPAT = 14
+SO_PASSCRED = 16
+SO_PEERCRED = 17
+SO_RCVLOWAT = 18
+SO_SNDLOWAT = 19
+SO_RCVTIMEO = 20
+SO_SNDTIMEO = 21
+SO_SECURITY_AUTHENTICATION = 22
+SO_SECURITY_ENCRYPTION_TRANSPORT = 23
+SO_SECURITY_ENCRYPTION_NETWORK = 24
+SO_BINDTODEVICE = 25
+SO_ATTACH_FILTER = 26
+SO_DETACH_FILTER = 27
+SO_PEERNAME = 28
+SO_TIMESTAMP = 29
+SCM_TIMESTAMP = SO_TIMESTAMP
+SO_ACCEPTCONN = 30
+SOCK_STREAM = 1
+SOCK_DGRAM = 2
+SOCK_RAW = 3
+SOCK_RDM = 4
+SOCK_SEQPACKET = 5
+SOCK_PACKET = 10
+SOCK_MAX = (SOCK_PACKET+1)
+
+# Included from bits/in.h
+IP_TOS = 1
+IP_TTL = 2
+IP_HDRINCL = 3
+IP_OPTIONS = 4
+IP_ROUTER_ALERT = 5
+IP_RECVOPTS = 6
+IP_RETOPTS = 7
+IP_PKTINFO = 8
+IP_PKTOPTIONS = 9
+IP_PMTUDISC = 10
+IP_MTU_DISCOVER = 10
+IP_RECVERR = 11
+IP_RECVTTL = 12
+IP_RECVTOS = 13
+IP_MULTICAST_IF = 32
+IP_MULTICAST_TTL = 33
+IP_MULTICAST_LOOP = 34
+IP_ADD_MEMBERSHIP = 35
+IP_DROP_MEMBERSHIP = 36
+IP_RECVRETOPTS = IP_RETOPTS
+IP_PMTUDISC_DONT = 0
+IP_PMTUDISC_WANT = 1
+IP_PMTUDISC_DO = 2
+SOL_IP = 0
+IP_DEFAULT_MULTICAST_TTL = 1
+IP_DEFAULT_MULTICAST_LOOP = 1
+IP_MAX_MEMBERSHIPS = 20
+IPV6_ADDRFORM = 1
+IPV6_PKTINFO = 2
+IPV6_HOPOPTS = 3
+IPV6_DSTOPTS = 4
+IPV6_RTHDR = 5
+IPV6_PKTOPTIONS = 6
+IPV6_CHECKSUM = 7
+IPV6_HOPLIMIT = 8
+IPV6_NEXTHOP = 9
+IPV6_AUTHHDR = 10
+IPV6_UNICAST_HOPS = 16
+IPV6_MULTICAST_IF = 17
+IPV6_MULTICAST_HOPS = 18
+IPV6_MULTICAST_LOOP = 19
+IPV6_JOIN_GROUP = 20
+IPV6_LEAVE_GROUP = 21
+IPV6_ROUTER_ALERT = 22
+IPV6_MTU_DISCOVER = 23
+IPV6_MTU = 24
+IPV6_RECVERR = 25
+IPV6_RXHOPOPTS = IPV6_HOPOPTS
+IPV6_RXDSTOPTS = IPV6_DSTOPTS
+IPV6_ADD_MEMBERSHIP = IPV6_JOIN_GROUP
+IPV6_DROP_MEMBERSHIP = IPV6_LEAVE_GROUP
+IPV6_PMTUDISC_DONT = 0
+IPV6_PMTUDISC_WANT = 1
+IPV6_PMTUDISC_DO = 2
+SOL_IPV6 = 41
+SOL_ICMPV6 = 58
+IPV6_RTHDR_LOOSE = 0
+IPV6_RTHDR_STRICT = 1
+IPV6_RTHDR_TYPE_0 = 0
+
+# Included from endian.h
+_ENDIAN_H = 1
+__LITTLE_ENDIAN = 1234
+__BIG_ENDIAN = 4321
+__PDP_ENDIAN = 3412
+
+# Included from bits/endian.h
+__BYTE_ORDER = __LITTLE_ENDIAN
+__FLOAT_WORD_ORDER = __BYTE_ORDER
+LITTLE_ENDIAN = __LITTLE_ENDIAN
+BIG_ENDIAN = __BIG_ENDIAN
+PDP_ENDIAN = __PDP_ENDIAN
+BYTE_ORDER = __BYTE_ORDER
+
+# Included from bits/byteswap.h
+_BITS_BYTESWAP_H = 1
+def __bswap_constant_16(x): return \
+
+def __bswap_16(x): return \
+
+def __bswap_16(x): return __bswap_constant_16 (x)
+
+def __bswap_constant_32(x): return \
+
+def __bswap_32(x): return \
+
+def __bswap_32(x): return \
+
+def __bswap_32(x): return __bswap_constant_32 (x)
+
+def __bswap_constant_64(x): return \
+
+def __bswap_64(x): return \
+
+def ntohl(x): return (x)
+
+def ntohs(x): return (x)
+
+def htonl(x): return (x)
+
+def htons(x): return (x)
+
+def ntohl(x): return __bswap_32 (x)
+
+def ntohs(x): return __bswap_16 (x)
+
+def htonl(x): return __bswap_32 (x)
+
+def htons(x): return __bswap_16 (x)
+
+def IN6_IS_ADDR_UNSPECIFIED(a): return \
+
+def IN6_IS_ADDR_LOOPBACK(a): return \
+
+def IN6_IS_ADDR_LINKLOCAL(a): return \
+
+def IN6_IS_ADDR_SITELOCAL(a): return \
+
+def IN6_IS_ADDR_V4MAPPED(a): return \
+
+def IN6_IS_ADDR_V4COMPAT(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
diff --git a/Lib/plat-linux/TYPES.py b/Lib/plat-linux/TYPES.py
new file mode 100644
index 0000000000..e7a324b25a
--- /dev/null
+++ b/Lib/plat-linux/TYPES.py
@@ -0,0 +1,170 @@
+# Generated by h2py from /usr/include/sys/types.h
+_SYS_TYPES_H = 1
+
+# Included from features.h
+_FEATURES_H = 1
+__USE_ANSI = 1
+__FAVOR_BSD = 1
+_ISOC99_SOURCE = 1
+_POSIX_SOURCE = 1
+_POSIX_C_SOURCE = 199506
+_XOPEN_SOURCE = 600
+_XOPEN_SOURCE_EXTENDED = 1
+_LARGEFILE64_SOURCE = 1
+_BSD_SOURCE = 1
+_SVID_SOURCE = 1
+_BSD_SOURCE = 1
+_SVID_SOURCE = 1
+__USE_ISOC99 = 1
+_POSIX_SOURCE = 1
+_POSIX_C_SOURCE = 2
+_POSIX_C_SOURCE = 199506
+__USE_POSIX = 1
+__USE_POSIX2 = 1
+__USE_POSIX199309 = 1
+__USE_POSIX199506 = 1
+__USE_XOPEN = 1
+__USE_XOPEN_EXTENDED = 1
+__USE_UNIX98 = 1
+_LARGEFILE_SOURCE = 1
+__USE_XOPEN2K = 1
+__USE_ISOC99 = 1
+__USE_XOPEN_EXTENDED = 1
+__USE_LARGEFILE = 1
+__USE_LARGEFILE64 = 1
+__USE_FILE_OFFSET64 = 1
+__USE_MISC = 1
+__USE_BSD = 1
+__USE_SVID = 1
+__USE_GNU = 1
+__USE_REENTRANT = 1
+__STDC_IEC_559__ = 1
+__STDC_IEC_559_COMPLEX__ = 1
+__STDC_ISO_10646__ = 200009
+__GNU_LIBRARY__ = 6
+__GLIBC__ = 2
+__GLIBC_MINOR__ = 2
+
+# Included from sys/cdefs.h
+_SYS_CDEFS_H = 1
+def __PMT(args): return args
+
+def __P(args): return args
+
+def __PMT(args): return args
+
+def __STRING(x): return #x
+
+__flexarr = []
+__flexarr = [0]
+__flexarr = []
+__flexarr = [1]
+def __ASMNAME(cname): return __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+
+def __attribute__(xyz): return
+
+def __attribute_format_arg__(x): return __attribute__ ((__format_arg__ (x)))
+
+def __attribute_format_arg__(x): return
+
+__USE_LARGEFILE = 1
+__USE_LARGEFILE64 = 1
+__USE_EXTERN_INLINES = 1
+
+# Included from gnu/stubs.h
+
+# Included from bits/types.h
+_BITS_TYPES_H = 1
+__FD_SETSIZE = 1024
+
+# Included from bits/pthreadtypes.h
+_BITS_PTHREADTYPES_H = 1
+
+# Included from bits/sched.h
+SCHED_OTHER = 0
+SCHED_FIFO = 1
+SCHED_RR = 2
+CSIGNAL = 0x000000ff
+CLONE_VM = 0x00000100
+CLONE_FS = 0x00000200
+CLONE_FILES = 0x00000400
+CLONE_SIGHAND = 0x00000800
+CLONE_PID = 0x00001000
+CLONE_PTRACE = 0x00002000
+CLONE_VFORK = 0x00004000
+__defined_schedparam = 1
+
+# Included from time.h
+_TIME_H = 1
+
+# Included from bits/time.h
+_BITS_TIME_H = 1
+CLOCKS_PER_SEC = 1000000
+CLOCK_REALTIME = 0
+CLOCK_PROCESS_CPUTIME_ID = 2
+CLOCK_THREAD_CPUTIME_ID = 3
+TIMER_ABSTIME = 1
+_STRUCT_TIMEVAL = 1
+CLK_TCK = CLOCKS_PER_SEC
+__clock_t_defined = 1
+__time_t_defined = 1
+__clockid_t_defined = 1
+__timer_t_defined = 1
+__timespec_defined = 1
+def __isleap(year): return \
+
+__BIT_TYPES_DEFINED__ = 1
+
+# Included from endian.h
+_ENDIAN_H = 1
+__LITTLE_ENDIAN = 1234
+__BIG_ENDIAN = 4321
+__PDP_ENDIAN = 3412
+
+# Included from bits/endian.h
+__BYTE_ORDER = __LITTLE_ENDIAN
+__FLOAT_WORD_ORDER = __BYTE_ORDER
+LITTLE_ENDIAN = __LITTLE_ENDIAN
+BIG_ENDIAN = __BIG_ENDIAN
+PDP_ENDIAN = __PDP_ENDIAN
+BYTE_ORDER = __BYTE_ORDER
+
+# Included from sys/select.h
+_SYS_SELECT_H = 1
+
+# Included from bits/select.h
+def __FD_ZERO(fdsp): return \
+
+def __FD_ZERO(set): return \
+
+
+# Included from bits/sigset.h
+_SIGSET_H_types = 1
+_SIGSET_H_fns = 1
+def __sigmask(sig): return \
+
+def __sigemptyset(set): return \
+
+def __sigfillset(set): return \
+
+def __sigisemptyset(set): return \
+
+def __FDELT(d): return ((d) / __NFDBITS)
+
+FD_SETSIZE = __FD_SETSIZE
+def FD_ZERO(fdsetp): return __FD_ZERO (fdsetp)
+
+
+# Included from sys/sysmacros.h
+_SYS_SYSMACROS_H = 1
+def major(dev): return ((int)(((dev) >> 8) & 0xff))
+
+def minor(dev): return ((int)((dev) & 0xff))
+
+def major(dev): return (((dev).__val[1] >> 8) & 0xff)
+
+def minor(dev): return ((dev).__val[1] & 0xff)
+
+def major(dev): return (((dev).__val[0] >> 8) & 0xff)
+
+def minor(dev): return ((dev).__val[0] & 0xff)
diff --git a/Lib/plat-linux/regen b/Lib/plat-linux/regen
new file mode 100755
index 0000000000..c76950e232
--- /dev/null
+++ b/Lib/plat-linux/regen
@@ -0,0 +1,8 @@
+#! /bin/sh
+case `uname` in
+Linux*) ;;
+*) echo Probably not on a Linux system 1>&2
+ exit 1;;
+esac
+set -v
+h2py -i '(u_long)' /usr/include/sys/types.h /usr/include/netinet/in.h /usr/include/dlfcn.h