diff --git a/Lib/plat-aix3/FCNTL.py b/Lib/plat-aix3/FCNTL.py
deleted file mode 100644
index 90e9ea5..0000000
--- a/Lib/plat-aix3/FCNTL.py
+++ /dev/null
@@ -1,145 +0,0 @@
-# Generated by h2py from /usr/include/fcntl.h
-
-# Included from standards.h
-
-# Included from sys/types.h
-
-# Included from sys/m_types.h
-TRUE = 1
-FALSE = 0
-NBBY = 8
-FHSIZE = 32
-
-# Included from sys/select.h
-
-# Included from sys/time.h
-ITIMER_REAL = 0
-ITIMER_VIRTUAL = 1
-ITIMER_PROF = 2
-ITIMER_VIRT = 3
-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)
-NALRM = 1
-NPROF = 1
-NVIRTUAL = 2
-NTIMEOFDAY = 5
-NTIMERS = (NALRM + NPROF + NVIRTUAL + NTIMEOFDAY)
-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)
-MAX_DEC_SECS = 2
-MAX_DEC_NS = 147483647
-DST_NONE = 0
-DST_USA = 1
-DST_AUST = 2
-DST_WET = 3
-DST_MET = 4
-DST_EET = 5
-DST_CAN = 6
-
-# Included from time.h
-
-# Included from stddef.h
-CLOCKS_PER_SEC = 1000000
-CLK_TCK = 100
-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)
-
-FD_SETSIZE = 2048
-def major(__x): return (int)((unsigned)(__x)>>16)
-
-def minor(__x): return (int)((__x)&0xFFFF)
-
-
-# Included from sys/flock.h
-F_RDLCK = 01
-F_WRLCK = 02
-F_UNLCK = 03
-INOFLCK = 1
-SETFLCK = 2
-SLPFLCK = 4
-LCK_UNBLOCK = 0
-LCK_BLOCKER = 1
-LCK_BLOCKED = 2
-LCK_WASBLOCK = 4
-MAXEND = 017777777777
-RMTLOCK = 1
-def ENF_LOCK(mode): return (((mode) & (ISGID | IEXEC | (IEXEC >> 3) | (IEXEC >> 6))) == ISGID)
-
-O_RDONLY = 00000000
-O_WRONLY = 00000001
-O_RDWR = 00000002
-O_ACCMODE = 3
-O_NONBLOCK = 00000004
-O_APPEND = 00000010
-O_CREAT = 00000400
-O_TRUNC = 00001000
-O_EXCL = 00002000
-O_NOCTTY = 00004000
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETLK = 5
-F_SETLK = 6
-F_SETLKW = 7
-FD_CLOEXEC = 1
-O_SYNC = 00000020
-O_NONE = 00000003
-O_EXEC = 00000040
-O_RSHARE = 00010000
-O_DEFER = 00020000
-O_DELAY = 00040000
-O_NDELAY = 00100000
-O_NSHARE = 00200000
-F_GETOWN = 8
-F_SETOWN = 9
-F_CLOSEM = 10
-FNDELAY = O_NONBLOCK
-O_NDELAY = O_NONBLOCK
-FNDELAY = O_NDELAY
-FNONBLOCK = O_NONBLOCK
-FAPPEND = O_APPEND
-FSYNC = O_SYNC
-FASYNC = 00400000
-FOPEN = (-1)
-FREAD = (O_RDONLY-FOPEN)
-FWRITE = (O_WRONLY-FOPEN)
-FMPX = 00000200
-FMASK = 00374377
-FFCNTL = (FNONBLOCK|FNDELAY|FAPPEND|FSYNC|FASYNC)
-FCREAT = O_CREAT
-FTRUNC = O_TRUNC
-FEXCL = O_EXCL
-FRSHARE = O_RSHARE
-FDEFER = O_DEFER
-FDELAY = O_DELAY
-FNDELAY = O_NDELAY
-FNSHARE = O_NSHARE
-FEXEC = O_EXEC
-FNOCTTY = O_NOCTTY
-FMOUNT = 01000000
-FREVOKED = 0x20000000
-FKERNEL = 0x40000000
-FAIO = 00000100
-FDOCLONE = 0x10000000
diff --git a/Lib/plat-aix4/FCNTL.py b/Lib/plat-aix4/FCNTL.py
deleted file mode 100644
index 739ada4..0000000
--- a/Lib/plat-aix4/FCNTL.py
+++ /dev/null
@@ -1,387 +0,0 @@
-# Generated by h2py from /usr/include/fcntl.h
-
-# Included from standards.h
-
-# Included from sys/types.h
-
-# Included from sys/m_types.h
-NULL = 0
-TRUE = 1
-FALSE = 0
-NBBY = 8
-FHSIZE = 32
-
-# 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
-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)
-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)
-MAX_DEC_SECS = 2
-MAX_DEC_NS = 147483647
-DST_NONE = 0
-DST_USA = 1
-DST_AUST = 2
-DST_WET = 3
-DST_MET = 4
-DST_EET = 5
-DST_CAN = 6
-
-# Included from time.h
-NULL = 0
-CLOCKS_PER_SEC = 1000000
-CLK_TCK = 100
-
-# 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)
-
-FD_SETSIZE = 2048
-def major(__x): return (int)((unsigned)(__x)>>16)
-
-def minor(__x): return (int)((__x)&0xFFFF)
-
-
-# Included from sys/flock.h
-F_RDLCK = 01
-F_WRLCK = 02
-F_UNLCK = 03
-INOFLCK = 1
-SETFLCK = 2
-SLPFLCK = 4
-LCK_UNBLOCK = 0
-LCK_BLOCKER = 1
-LCK_BLOCKED = 2
-LCK_WASBLOCK = 4
-MAXEND = 017777777777
-RMTLOCK = 1
-def ENF_LOCK(mode): return (((mode) & (ISGID | IEXEC | (IEXEC >> 3) | (IEXEC >> 6))) == ISGID)
-
-O_RDONLY = 00000000
-O_WRONLY = 00000001
-O_RDWR = 00000002
-O_ACCMODE = 3
-O_NONBLOCK = 00000004
-O_APPEND = 00000010
-O_CREAT = 00000400
-O_TRUNC = 00001000
-O_EXCL = 00002000
-O_NOCTTY = 00004000
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETLK = 5
-F_SETLK = 6
-F_SETLKW = 7
-FD_CLOEXEC = 1
-
-# Included from unistd.h
-
-# Included from sys/access.h
-F_OK = 00
-X_OK = 01
-W_OK = 02
-R_OK = 04
-R_ACC = 04
-W_ACC = 02
-X_ACC = 01
-E_ACC = 00
-NO_ACC = 00
-ACC_SELF = 0x00
-ACC_INVOKER = 0x01
-ACC_OBJ_OWNER = 0x02
-ACC_OBJ_GROUP = 0x04
-ACC_OTHERS = 0x08
-ACC_ANY = 0x10
-ACC_ALL = 0x20
-ACC_PERMIT = 0x01
-ACC_DENY = 0x02
-ACC_SPECIFY = 0x03
-SEEK_SET = 0
-SEEK_CUR = 1
-SEEK_END = 2
-STDIN_FILENO = 0
-STDOUT_FILENO = 1
-STDERR_FILENO = 2
-_POSIX_JOB_CONTROL = 1
-_POSIX_SAVED_IDS = 1
-_POSIX_VERSION = 199009L
-_POSIX2_VERSION = 199209L
-_POSIX2_C_VERSION = 199209L
-_POSIX_REENTRANT_FUNCTIONS = 1
-_POSIX_THREADS = 1
-_POSIX_THREAD_ATTR_STACKSIZE = 1
-_POSIX_THREAD_PRIORITY_SCHEDULING = 1
-_POSIX_CHOWN_RESTRICTED = 0
-_POSIX_VDISABLE = 0xFF
-_POSIX_NO_TRUNC = 0
-NULL = 0
-_CS_PATH = 1
-_CSPATH = "/usr/bin"
-_PC_CHOWN_RESTRICTED = 10
-_PC_LINK_MAX = 11
-_PC_MAX_CANON = 12
-_PC_MAX_INPUT = 13
-_PC_NAME_MAX = 14
-_PC_NO_TRUNC = 15
-_PC_PATH_MAX = 16
-_PC_PIPE_BUF = 17
-_PC_VDISABLE = 18
-_SC_ARG_MAX = 0
-_SC_CHILD_MAX = 1
-_SC_CLK_TCK = 2
-_SC_NGROUPS_MAX = 3
-_SC_OPEN_MAX = 4
-_SC_STREAM_MAX = 5
-_SC_TZNAME_MAX = 6
-_SC_JOB_CONTROL = 7
-_SC_SAVED_IDS = 8
-_SC_VERSION = 9
-_SC_POSIX_ARG_MAX = 10
-_SC_POSIX_CHILD_MAX = 11
-_SC_POSIX_LINK_MAX = 12
-_SC_POSIX_MAX_CANON = 13
-_SC_POSIX_MAX_INPUT = 14
-_SC_POSIX_NAME_MAX = 15
-_SC_POSIX_NGROUPS_MAX = 16
-_SC_POSIX_OPEN_MAX = 17
-_SC_POSIX_PATH_MAX = 18
-_SC_POSIX_PIPE_BUF = 19
-_SC_POSIX_SSIZE_MAX = 20
-_SC_POSIX_STREAM_MAX = 21
-_SC_POSIX_TZNAME_MAX = 22
-_SC_BC_BASE_MAX = 23
-_SC_BC_DIM_MAX = 24
-_SC_BC_SCALE_MAX = 25
-_SC_BC_STRING_MAX = 26
-_SC_EQUIV_CLASS_MAX = 27
-_SC_EXPR_NEST_MAX = 28
-_SC_LINE_MAX = 29
-_SC_RE_DUP_MAX = 30
-_SC_2_VERSION = 31
-_SC_2_C_DEV = 32
-_SC_2_FORT_DEV = 33
-_SC_2_FORT_RUN = 34
-_SC_2_LOCALEDEF = 35
-_SC_2_SW_DEV = 36
-_SC_POSIX2_BC_BASE_MAX = 37
-_SC_POSIX2_BC_DIM_MAX = 38
-_SC_POSIX2_BC_SCALE_MAX = 39
-_SC_POSIX2_BC_STRING_MAX = 40
-_SC_POSIX2_EQUIV_CLASS_MAX = 41
-_SC_POSIX2_EXPR_NEST_MAX = 42
-_SC_POSIX2_LINE_MAX = 43
-_SC_POSIX2_RE_DUP_MAX = 44
-_SC_PASS_MAX = 45
-_SC_XOPEN_VERSION = 46
-_SC_ATEXIT_MAX = 47
-_SC_PAGE_SIZE = 48
-_SC_AES_OS_VERSION = 49
-_SC_COLL_WEIGHTS_MAX = 50
-_SC_2_C_BIND = 51
-_SC_2_C_VERSION = 52
-_SC_2_UPE = 53
-_SC_2_CHAR_TERM = 54
-_SC_XOPEN_SHM = 55
-_SC_XOPEN_CRYPT = 56
-_SC_XOPEN_ENH_I18N = 57
-_SC_PAGESIZE = _SC_PAGE_SIZE
-_SC_IOV_MAX = 58
-_SC_REENTRANT_FUNCTIONS = 59
-_SC_THREADS = 60
-_SC_THREAD_ATTR_STACKADDR = 61
-_SC_THREAD_ATTR_STACKSIZE = 62
-_SC_THREAD_FORKALL = 63
-_SC_THREAD_PRIORITY_SCHEDULING = 64
-_SC_THREAD_PRIO_INHERIT = 65
-_SC_THREAD_PRIO_PROTECT = 66
-_SC_THREAD_PROCESS_SHARED = 67
-_SC_THREAD_DATAKEYS_MAX = 68
-_SC_THREAD_STACK_MIN = 69
-_SC_THREAD_THREADS_MAX = 70
-_SC_NPROCESSORS_CONF = 71
-_SC_NPROCESSORS_ONLN = 72
-_XOPEN_VERSION = 4
-_XOPEN_XCU_VERSION = 4
-_XOPEN_XPG3 = 1
-_XOPEN_XPG4 = 1
-_POSIX2_C_BIND = 1
-_POSIX2_C_DEV = 1
-_POSIX2_CHAR_TERM = 1
-_POSIX2_LOCALEDEF = 1
-_POSIX2_UPE = 1
-_POSIX2_FORT_DEV = (-1)
-_POSIX2_FORT_RUN = (-1)
-_POSIX2_SW_DEV = 1
-_XOPEN_CRYPT = 1
-_XOPEN_SHM = 1
-_XOPEN_ENH_I18N = 1
-
-# Included from sys/lockf.h
-
-# Included from sys/stat.h
-
-# Included from sys/mode.h
-_S_IFMT = 0170000
-_S_IFREG = 0100000
-_S_IFDIR = 0040000
-_S_IFBLK = 0060000
-_S_IFCHR = 0020000
-_S_IFIFO = 0010000
-S_ISUID = 0004000
-S_ISGID = 0002000
-S_IRWXU = 0000700
-S_IRUSR = 0000400
-S_IWUSR = 0000200
-S_IXUSR = 0000100
-S_IRWXG = 0000070
-S_IRGRP = 0000040
-S_IWGRP = 0000020
-S_IXGRP = 0000010
-S_IRWXO = 0000007
-S_IROTH = 0000004
-S_IWOTH = 0000002
-S_IXOTH = 0000001
-def S_ISFIFO(m): return (((m)&(_S_IFMT)) == (_S_IFIFO))
-
-def S_ISDIR(m): return (((m)&(_S_IFMT)) == (_S_IFDIR))
-
-def S_ISCHR(m): return (((m)&(_S_IFMT)) == (_S_IFCHR))
-
-def S_ISBLK(m): return (((m)&(_S_IFMT)) == (_S_IFBLK))
-
-def S_ISREG(m): return (((m)&(_S_IFMT)) == (_S_IFREG))
-
-S_ISVTX = 0001000
-S_IFMT = _S_IFMT
-S_IFREG = _S_IFREG
-S_IFDIR = _S_IFDIR
-S_IFBLK = _S_IFBLK
-S_IFCHR = _S_IFCHR
-S_IFIFO = _S_IFIFO
-S_IFSOCK = 0140000
-S_IFLNK = 0120000
-S_IREAD = 0000400
-S_IWRITE = 0000200
-S_IEXEC = 0000100
-S_ENFMT = S_ISGID
-S_IFMPX = (S_IFCHR|S_ISVTX)
-def S_ISMPX(m): return (((m)&(S_IFMT|S_ISVTX)) == (S_IFMPX))
-
-def S_ISLNK(m): return (((m)&(S_IFMT)) == (S_IFLNK))
-
-def S_ISSOCK(m): return (((m)&(S_IFMT)) == (S_IFSOCK))
-
-IFMT = S_IFMT
-IFDIR = S_IFDIR
-IFCHR = S_IFCHR
-IFBLK = S_IFBLK
-IFREG = S_IFREG
-IFIFO = S_IFIFO
-IFSOCK = S_IFSOCK
-IFLNK = S_IFLNK
-ISUID = S_ISUID
-ISGID = S_ISGID
-ISVTX = S_ISVTX
-IREAD = S_IREAD
-IWRITE = S_IWRITE
-IEXEC = S_IEXEC
-S_INMOD = 0xC0000000
-S_IXMOD = 0x40000000
-S_IJRNL = 0x04000000
-S_IXACL = 0x02000000
-S_ITCB = 0x01000000
-S_ITP = 0x00800000
-FS_VMP = 01
-FS_MOUNT = FS_VMP
-FS_REMOTE = 02
-SDEV_REMOTE = 0x80000000
-STX_NORMAL = 0x00
-STX_LINK = 0x01
-STX_MOUNT = 0x02
-STX_HIDDEN = 0x04
-S_ENFMT = S_ISGID
-F_ULOCK = 0
-F_LOCK = 1
-F_TLOCK = 2
-F_TEST = 3
-_AES_OS_VERSION = 1
-O_SYNC = 00000020
-O_NONE = 00000003
-O_EXEC = 00000040
-O_RSHARE = 00010000
-O_DEFER = 00020000
-O_DELAY = 00040000
-O_NDELAY = 00100000
-O_NSHARE = 00200000
-F_GETOWN = 8
-F_SETOWN = 9
-F_CLOSEM = 10
-FNDELAY = O_NONBLOCK
-O_NDELAY = O_NONBLOCK
-FNDELAY = O_NDELAY
-FNONBLOCK = O_NONBLOCK
-FAPPEND = O_APPEND
-FSYNC = O_SYNC
-FASYNC = 00400000
-FSYNCALL = 02000000
-FOPEN = (-1)
-FREAD = (O_RDONLY-FOPEN)
-FWRITE = (O_WRONLY-FOPEN)
-FMPX = 00000200
-FMASK = 00374377
-FFCNTL = (FNONBLOCK|FNDELAY|FAPPEND|FSYNC|FASYNC)
-FCREAT = O_CREAT
-FTRUNC = O_TRUNC
-FEXCL = O_EXCL
-FRSHARE = O_RSHARE
-FDEFER = O_DEFER
-FDELAY = O_DELAY
-FNDELAY = O_NDELAY
-FNSHARE = O_NSHARE
-FEXEC = O_EXEC
-FNOCTTY = O_NOCTTY
-FMOUNT = 01000000
-FREVOKED = 0x20000000
-FKERNEL = 0x40000000
-FAIO = 00000100
-FDOCLONE = 0x10000000
-GCFMARK = 0x00100000
-GCFDEFER = 0x00200000
diff --git a/Lib/plat-beos5/FCNTL.py b/Lib/plat-beos5/FCNTL.py
deleted file mode 100644
index 617b65e..0000000
--- a/Lib/plat-beos5/FCNTL.py
+++ /dev/null
@@ -1,124 +0,0 @@
-# Generated by h2py from /boot/develop/headers/posix/fcntl.h
-
-# Included from be_setup.h
-def __std(ref): return ref
-
-__be_os = 2
-__dest_os = __be_os
-__MSL__ = 0x4011
-__GLIBC__ = -2
-__GLIBC_MINOR__ = 1
-
-# Included from BeBuild.h
-B_BEOS_VERSION_4 = 0x0400
-B_BEOS_VERSION_4_5 = 0x0450
-B_BEOS_VERSION_5 = 0x0500
-B_BEOS_VERSION = B_BEOS_VERSION_5
-B_BEOS_VERSION_MAUI = B_BEOS_VERSION_5
-_PR2_COMPATIBLE_ = 1
-_PR3_COMPATIBLE_ = 1
-_R4_COMPATIBLE_ = 1
-_R4_5_COMPATIBLE_ = 1
-_PR2_COMPATIBLE_ = 0
-_PR3_COMPATIBLE_ = 0
-_R4_COMPATIBLE_ = 1
-_R4_5_COMPATIBLE_ = 1
-def _UNUSED(x): return x
-
-
-# Included from sys/types.h
-
-# Included from time.h
-
-# Included from null.h
-NULL = (0)
-NULL = 0L
-
-# Included from size_t.h
-
-# Included from stddef.h
-
-# Included from wchar_t.h
-CLOCKS_PER_SEC = 1000
-CLK_TCK = CLOCKS_PER_SEC
-MAX_TIMESTR = 70
-
-# Included from sys/stat.h
-S_ATTR_DIR = 01000000000
-S_ATTR = 02000000000
-S_INDEX_DIR = 04000000000
-S_STR_INDEX = 00100000000
-S_INT_INDEX = 00200000000
-S_UINT_INDEX = 00400000000
-S_LONG_LONG_INDEX = 00010000000
-S_ULONG_LONG_INDEX = 00020000000
-S_FLOAT_INDEX = 00040000000
-S_DOUBLE_INDEX = 00001000000
-S_ALLOW_DUPS = 00002000000
-S_IFMT = 00000170000
-S_IFLNK = 00000120000
-S_IFREG = 00000100000
-S_IFBLK = 00000060000
-S_IFDIR = 00000040000
-S_IFCHR = 00000020000
-S_IFIFO = 00000010000
-def S_ISREG(m): return (((m) & S_IFMT) == S_IFREG)
-
-def S_ISLNK(m): return (((m) & S_IFMT) == S_IFLNK)
-
-def S_ISBLK(m): return (((m) & S_IFMT) == S_IFBLK)
-
-def S_ISDIR(m): return (((m) & S_IFMT) == S_IFDIR)
-
-def S_ISCHR(m): return (((m) & S_IFMT) == S_IFCHR)
-
-def S_ISFIFO(m): return (((m) & S_IFMT) == S_IFIFO)
-
-def S_ISINDEX(m): return (((m) & S_INDEX_DIR) == S_INDEX_DIR)
-
-S_IUMSK = 07777
-S_ISUID = 04000
-S_ISGID = 02000
-S_ISVTX = 01000
-S_IRWXU = 00700
-S_IRUSR = 00400
-S_IWUSR = 00200
-S_IXUSR = 00100
-S_IRWXG = 00070
-S_IRGRP = 00040
-S_IWGRP = 00020
-S_IXGRP = 00010
-S_IRWXO = 00007
-S_IROTH = 00004
-S_IWOTH = 00002
-S_IXOTH = 00001
-F_DUPFD = 0x0001
-F_GETFD = 0x0002
-F_SETFD = 0x0004
-F_GETFL = 0x0008
-F_SETFL = 0x0010
-F_GETLK = 0x0020
-F_RDLCK = 0x0040
-F_SETLK = 0x0080
-F_SETLKW = 0x0100
-F_UNLCK = 0x0200
-F_WRLCK = 0x0400
-FD_CLOEXEC = 1
-FD_CLOEXEC = 0x0800
-O_RDONLY = 0
-O_WRONLY = 1
-O_RDWR = 2
-O_RWMASK = 3
-O_CLOEXEC = 0x0040
-O_NONBLOCK = 0x0080
-O_EXCL = 0x0100
-O_CREAT = 0x0200
-O_TRUNC = 0x0400
-O_APPEND = 0x0800
-O_NOCTTY = 0x1000
-O_NOTRAVERSE = 0x2000
-O_ACCMODE = 0x0003
-O_TEXT = 0x4000
-O_BINARY = 0x8000
-S_IREAD = 0x0100
-S_IWRITE = 0x0080
\ No newline at end of file
diff --git a/Lib/plat-freebsd2/FCNTL.py b/Lib/plat-freebsd2/FCNTL.py
deleted file mode 100755
index 4d5db42..0000000
--- a/Lib/plat-freebsd2/FCNTL.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# Generated by h2py from /usr/include/fcntl.h
-
-# Included from sys/types.h
-
-# Included from sys/cdefs.h
-def __P(protos): return protos		 
-
-def __STRING(x): return #x		 
-
-def __XSTRING(x): return __STRING(x)	 
-
-def __P(protos): return ()		 
-
-def __STRING(x): return "x"
-
-def __RCSID(s): return __IDSTRING(rcsid,s)
-
-def __RCSID_SOURCE(s): return __IDSTRING(rcsid_source,s)
-
-def __COPYRIGHT(s): return __IDSTRING(copyright,s)
-
-
-# Included from machine/ansi.h
-_BSD_PTRDIFF_T_ = int
-_BSD_SSIZE_T_ = int
-_BSD_TIME_T_ = long
-_BSD_CT_RUNE_T_ = int
-_BSD_PID_T_ = int
-_BSD_CLK_TCK_ = 128
-_BSD_CLOCKS_PER_SEC_ = 128
-
-# Included from machine/types.h
-def major(x): return ((int)(((u_int)(x) >> 8)&0xff))	 
-
-def minor(x): return ((int)((x)&0xffff00ff))		 
-
-
-# Included from machine/endian.h
-_QUAD_HIGHWORD = 1
-_QUAD_LOWWORD = 0
-LITTLE_ENDIAN = 1234
-BIG_ENDIAN = 4321
-PDP_ENDIAN = 3412
-BYTE_ORDER = LITTLE_ENDIAN
-def __word_swap_long(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_word(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_word(x): return \
-
-ntohl = __byte_swap_long
-ntohs = __byte_swap_word
-htonl = __byte_swap_long
-htons = __byte_swap_word
-NBBY = 8
-FD_SETSIZE = 256
-O_RDONLY = 0x0000
-O_WRONLY = 0x0001
-O_RDWR = 0x0002
-O_ACCMODE = 0x0003
-FREAD = 0x0001
-FWRITE = 0x0002
-O_NONBLOCK = 0x0004
-O_APPEND = 0x0008
-O_SHLOCK = 0x0010
-O_EXLOCK = 0x0020
-O_ASYNC = 0x0040
-O_FSYNC = 0x0080
-O_CREAT = 0x0200
-O_TRUNC = 0x0400
-O_EXCL = 0x0800
-FMARK = 0x1000
-FDEFER = 0x2000
-FHASLOCK = 0x4000
-O_NOCTTY = 0x8000
-def FFLAGS(oflags): return ((oflags) + 1)
-
-def OFLAGS(fflags): return ((fflags) - 1)
-
-FAPPEND = O_APPEND
-FASYNC = O_ASYNC
-FFSYNC = O_FSYNC
-FNONBLOCK = O_NONBLOCK
-FNDELAY = O_NONBLOCK
-O_NDELAY = O_NONBLOCK
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETOWN = 5
-F_SETOWN = 6
-F_GETLK = 7
-F_SETLK = 8
-F_SETLKW = 9
-FD_CLOEXEC = 1
-F_RDLCK = 1
-F_UNLCK = 2
-F_WRLCK = 3
-F_WAIT = 0x010
-F_FLOCK = 0x020
-F_POSIX = 0x040
-LOCK_SH = 0x01
-LOCK_EX = 0x02
-LOCK_NB = 0x04
-LOCK_UN = 0x08
diff --git a/Lib/plat-freebsd3/FCNTL.py b/Lib/plat-freebsd3/FCNTL.py
deleted file mode 100644
index d2220e8..0000000
--- a/Lib/plat-freebsd3/FCNTL.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# Generated by h2py from /usr/include/fcntl.h
-
-# Included from sys/types.h
-
-# Included from sys/cdefs.h
-def __P(protos): return protos		 
-
-def __STRING(x): return #x		 
-
-def __XSTRING(x): return __STRING(x)	 
-
-def __P(protos): return ()		 
-
-def __STRING(x): return "x"
-
-def __RCSID(s): return __IDSTRING(rcsid,s)
-
-def __RCSID_SOURCE(s): return __IDSTRING(rcsid_source,s)
-
-def __COPYRIGHT(s): return __IDSTRING(copyright,s)
-
-
-# Included from machine/ansi.h
-_BSD_PTRDIFF_T_ = int
-_BSD_SSIZE_T_ = int
-_BSD_TIME_T_ = long
-_BSD_CLOCKID_T_ = int
-_BSD_TIMER_T_ = int
-_BSD_CT_RUNE_T_ = int
-_BSD_PID_T_ = int
-_BSD_CLK_TCK_ = 128
-_BSD_CLOCKS_PER_SEC_ = 128
-
-# Included from machine/types.h
-def major(x): return ((int)(((u_int)(x) >> 8)&0xff))	 
-
-def minor(x): return ((int)((x)&0xffff00ff))		 
-
-
-# Included from machine/endian.h
-_QUAD_HIGHWORD = 1
-_QUAD_LOWWORD = 0
-LITTLE_ENDIAN = 1234
-BIG_ENDIAN = 4321
-PDP_ENDIAN = 3412
-BYTE_ORDER = LITTLE_ENDIAN
-def __word_swap_long(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_word(x): return \
-
-ntohl = __byte_swap_long
-ntohs = __byte_swap_word
-htonl = __byte_swap_long
-htons = __byte_swap_word
-NBBY = 8
-FD_SETSIZE = 1024
-O_RDONLY = 0x0000
-O_WRONLY = 0x0001
-O_RDWR = 0x0002
-O_ACCMODE = 0x0003
-FREAD = 0x0001
-FWRITE = 0x0002
-O_NONBLOCK = 0x0004
-O_APPEND = 0x0008
-O_SHLOCK = 0x0010
-O_EXLOCK = 0x0020
-O_ASYNC = 0x0040
-O_FSYNC = 0x0080
-O_NOFOLLOW = 0x0100
-O_CREAT = 0x0200
-O_TRUNC = 0x0400
-O_EXCL = 0x0800
-FMARK = 0x1000
-FDEFER = 0x2000
-FHASLOCK = 0x4000
-O_NOCTTY = 0x8000
-def FFLAGS(oflags): return ((oflags) + 1)
-
-def OFLAGS(fflags): return ((fflags) - 1)
-
-FAPPEND = O_APPEND
-FASYNC = O_ASYNC
-FFSYNC = O_FSYNC
-FNONBLOCK = O_NONBLOCK
-FNDELAY = O_NONBLOCK
-O_NDELAY = O_NONBLOCK
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETOWN = 5
-F_SETOWN = 6
-F_GETLK = 7
-F_SETLK = 8
-F_SETLKW = 9
-FD_CLOEXEC = 1
-F_RDLCK = 1
-F_UNLCK = 2
-F_WRLCK = 3
-F_WAIT = 0x010
-F_FLOCK = 0x020
-F_POSIX = 0x040
-LOCK_SH = 0x01
-LOCK_EX = 0x02
-LOCK_NB = 0x04
-LOCK_UN = 0x08
diff --git a/Lib/plat-freebsd4/FCNTL.py b/Lib/plat-freebsd4/FCNTL.py
deleted file mode 100644
index 3fe26ce..0000000
--- a/Lib/plat-freebsd4/FCNTL.py
+++ /dev/null
@@ -1,113 +0,0 @@
-# Generated by h2py from /usr/include/fcntl.h
-
-# Included from sys/types.h
-
-# Included from sys/cdefs.h
-def __P(protos): return protos		 
-
-def __STRING(x): return #x		 
-
-def __XSTRING(x): return __STRING(x)	 
-
-def __P(protos): return ()		 
-
-def __STRING(x): return "x"
-
-def __RCSID(s): return __IDSTRING(rcsid,s)
-
-def __RCSID_SOURCE(s): return __IDSTRING(rcsid_source,s)
-
-def __COPYRIGHT(s): return __IDSTRING(copyright,s)
-
-
-# Included from sys/inttypes.h
-
-# Included from machine/ansi.h
-_BSD_CLOCKID_T_ = int
-_BSD_PTRDIFF_T_ = int
-_BSD_SSIZE_T_ = int
-_BSD_TIME_T_ = long
-_BSD_TIMER_T_ = int
-_BSD_CT_RUNE_T_ = int
-_BSD_PID_T_ = int
-_BSD_CLK_TCK_ = 128
-_BSD_CLOCKS_PER_SEC_ = 128
-
-# Included from machine/types.h
-def major(x): return ((int)(((u_int)(x) >> 8)&0xff))  
-
-def minor(x): return ((int)((x)&0xffff00ff))          
-
-
-# Included from machine/endian.h
-_QUAD_HIGHWORD = 1
-_QUAD_LOWWORD = 0
-LITTLE_ENDIAN = 1234
-BIG_ENDIAN = 4321
-PDP_ENDIAN = 3412
-BYTE_ORDER = LITTLE_ENDIAN
-def __word_swap_long(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_word(x): return \
-
-ntohl = __byte_swap_long
-ntohs = __byte_swap_word
-htonl = __byte_swap_long
-htons = __byte_swap_word
-NBBY = 8
-FD_SETSIZE = 1024
-O_RDONLY = 0x0000
-O_WRONLY = 0x0001
-O_RDWR = 0x0002
-O_ACCMODE = 0x0003
-FREAD = 0x0001
-FWRITE = 0x0002
-O_NONBLOCK = 0x0004
-O_APPEND = 0x0008
-O_SHLOCK = 0x0010
-O_EXLOCK = 0x0020
-O_ASYNC = 0x0040
-O_FSYNC = 0x0080
-O_NOFOLLOW = 0x0100
-O_CREAT = 0x0200
-O_TRUNC = 0x0400
-O_EXCL = 0x0800
-FMARK = 0x1000
-FDEFER = 0x2000
-FHASLOCK = 0x4000
-O_NOCTTY = 0x8000
-def FFLAGS(oflags): return ((oflags) + 1)
-
-def OFLAGS(fflags): return ((fflags) - 1)
-
-FAPPEND = O_APPEND
-FASYNC = O_ASYNC
-FFSYNC = O_FSYNC
-FNONBLOCK = O_NONBLOCK
-FNDELAY = O_NONBLOCK
-O_NDELAY = O_NONBLOCK
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETOWN = 5
-F_SETOWN = 6
-F_GETLK = 7
-F_SETLK = 8
-F_SETLKW = 9
-FD_CLOEXEC = 1
-F_RDLCK = 1
-F_UNLCK = 2
-F_WRLCK = 3
-F_WAIT = 0x010
-F_FLOCK = 0x020
-F_POSIX = 0x040
-LOCK_SH = 0x01
-LOCK_EX = 0x02
-LOCK_NB = 0x04
-LOCK_UN = 0x08
diff --git a/Lib/plat-freebsd5/FCNTL.py b/Lib/plat-freebsd5/FCNTL.py
deleted file mode 100644
index 6c0facd..0000000
--- a/Lib/plat-freebsd5/FCNTL.py
+++ /dev/null
@@ -1,114 +0,0 @@
-# Generated by h2py from /usr/include/fcntl.h
-
-# Included from sys/types.h
-
-# Included from sys/cdefs.h
-def __P(protos): return protos		 
-
-def __STRING(x): return #x		 
-
-def __XSTRING(x): return __STRING(x)	 
-
-def __P(protos): return ()		 
-
-def __STRING(x): return "x"
-
-def __RCSID(s): return __IDSTRING(rcsid,s)
-
-def __RCSID_SOURCE(s): return __IDSTRING(rcsid_source,s)
-
-def __COPYRIGHT(s): return __IDSTRING(copyright,s)
-
-
-# Included from sys/inttypes.h
-
-# Included from machine/ansi.h
-_BSD_CLOCKID_T_ = int
-_BSD_PTRDIFF_T_ = int
-_BSD_SSIZE_T_ = int
-_BSD_TIME_T_ = long
-_BSD_TIMER_T_ = int
-_BSD_CT_RUNE_T_ = int
-_BSD_PID_T_ = int
-_BSD_CLK_TCK_ = 128
-_BSD_CLOCKS_PER_SEC_ = 128
-
-# Included from machine/types.h
-def major(x): return ((int)(((u_int)(x) >> 8)&0xff))  
-
-def minor(x): return ((int)((x)&0xffff00ff))          
-
-
-# Included from machine/endian.h
-_QUAD_HIGHWORD = 1
-_QUAD_LOWWORD = 0
-LITTLE_ENDIAN = 1234
-BIG_ENDIAN = 4321
-PDP_ENDIAN = 3412
-BYTE_ORDER = LITTLE_ENDIAN
-def __word_swap_long(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_word(x): return \
-
-ntohl = __byte_swap_long
-ntohs = __byte_swap_word
-htonl = __byte_swap_long
-htons = __byte_swap_word
-NBBY = 8
-FD_SETSIZE = 1024
-O_RDONLY = 0x0000
-O_WRONLY = 0x0001
-O_RDWR = 0x0002
-O_ACCMODE = 0x0003
-FREAD = 0x0001
-FWRITE = 0x0002
-O_NONBLOCK = 0x0004
-O_APPEND = 0x0008
-O_SHLOCK = 0x0010
-O_EXLOCK = 0x0020
-O_ASYNC = 0x0040
-O_FSYNC = 0x0080
-O_NOFOLLOW = 0x0100
-O_CREAT = 0x0200
-O_TRUNC = 0x0400
-O_EXCL = 0x0800
-FMARK = 0x1000
-FDEFER = 0x2000
-FHASLOCK = 0x4000
-O_NOCTTY = 0x8000
-def FFLAGS(oflags): return ((oflags) + 1)
-
-def OFLAGS(fflags): return ((fflags) - 1)
-
-FAPPEND = O_APPEND
-FASYNC = O_ASYNC
-FFSYNC = O_FSYNC
-FNONBLOCK = O_NONBLOCK
-FNDELAY = O_NONBLOCK
-O_NDELAY = O_NONBLOCK
-FPOSIXSHM = O_NOFOLLOW
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETOWN = 5
-F_SETOWN = 6
-F_GETLK = 7
-F_SETLK = 8
-F_SETLKW = 9
-FD_CLOEXEC = 1
-F_RDLCK = 1
-F_UNLCK = 2
-F_WRLCK = 3
-F_WAIT = 0x010
-F_FLOCK = 0x020
-F_POSIX = 0x040
-LOCK_SH = 0x01
-LOCK_EX = 0x02
-LOCK_NB = 0x04
-LOCK_UN = 0x08
diff --git a/Lib/plat-irix5/FCNTL.py b/Lib/plat-irix5/FCNTL.py
deleted file mode 100755
index 96d8451..0000000
--- a/Lib/plat-irix5/FCNTL.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# Generated by h2py from /usr/include/sys/fcntl.h
-
-# Included from sys/types.h
-
-# Included from sgidefs.h
-_MIPS_ISA_MIPS1 = 1
-_MIPS_ISA_MIPS2 = 2
-_MIPS_ISA_MIPS3 = 3
-_MIPS_ISA_MIPS4 = 4
-_MIPS_SIM_ABI32 = 1
-_MIPS_SIM_NABI32 = 2
-_MIPS_SIM_ABI64 = 3
-P_MYID = (-1)
-P_MYHOSTID = (-1)
-
-# Included from sys/bsd_types.h
-
-# Included from sys/mkdev.h
-ONBITSMAJOR = 7
-ONBITSMINOR = 8
-OMAXMAJ = 0x7f
-OMAXMIN = 0xff
-NBITSMAJOR = 14
-NBITSMINOR = 18
-MAXMAJ = 0x1ff
-MAXMIN = 0x3ffff
-OLDDEV = 0
-NEWDEV = 1
-MKDEV_VER = NEWDEV
-def major(dev): return __major(MKDEV_VER, dev)
-
-def minor(dev): return __minor(MKDEV_VER, dev)
-
-
-# Included from sys/select.h
-FD_SETSIZE = 1024
-NBBY = 8
-FNDELAY = 0x04
-FAPPEND = 0x08
-FSYNC = 0x10
-FNONBLOCK = 0x80
-FASYNC = 0x1000
-FNONBLK = FNONBLOCK
-FDIRECT = 0x8000
-FCREAT = 0x0100
-FTRUNC = 0x0200
-FEXCL = 0x0400
-FNOCTTY = 0x0800
-O_RDONLY = 0
-O_WRONLY = 1
-O_RDWR = 2
-O_NDELAY = 0x04
-O_APPEND = 0x08
-O_SYNC = 0x10
-O_NONBLOCK = 0x80
-O_DIRECT = 0x8000
-O_CREAT = 0x100
-O_TRUNC = 0x200
-O_EXCL = 0x400
-O_NOCTTY = 0x800
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETLK = 14
-F_SETLK = 6
-F_SETLKW = 7
-F_CHKFL = 8
-F_ALLOCSP = 10
-F_FREESP = 11
-F_SETBSDLK = 12
-F_SETBSDLKW = 13
-F_DIOINFO = 30
-F_FSGETXATTR = 31
-F_FSSETXATTR = 32
-F_GETLK64 = 33
-F_SETLK64 = 34
-F_SETLKW64 = 35
-F_ALLOCSP64 = 36
-F_FREESP64 = 37
-F_GETBMAP = 38
-F_FSSETDM = 39
-F_RSETLK = 20
-F_RGETLK = 21
-F_RSETLKW = 22
-F_GETOWN = 23
-F_SETOWN = 24
-F_O_GETLK = 5
-F_O_GETOWN = 10
-F_O_SETOWN = 11
-F_RDLCK = 01
-F_WRLCK = 02
-F_UNLCK = 03
-O_ACCMODE = 3
-FD_CLOEXEC = 1
-FD_NODUP_FORK = 4
diff --git a/Lib/plat-irix6/FCNTL.py b/Lib/plat-irix6/FCNTL.py
deleted file mode 100644
index ceb1071..0000000
--- a/Lib/plat-irix6/FCNTL.py
+++ /dev/null
@@ -1,114 +0,0 @@
-# Generated by h2py from /usr/include/sys/fcntl.h
-
-# Included from standards.h
-
-# Included from sys/types.h
-
-# Included from sgidefs.h
-_MIPS_ISA_MIPS1 = 1
-_MIPS_ISA_MIPS2 = 2
-_MIPS_ISA_MIPS3 = 3
-_MIPS_ISA_MIPS4 = 4
-_MIPS_SIM_ABI32 = 1
-_MIPS_SIM_NABI32 = 2
-_MIPS_SIM_ABI64 = 3
-P_MYID = (-1)
-P_MYHOSTID = (-1)
-
-# Included from sys/bsd_types.h
-
-# Included from sys/mkdev.h
-ONBITSMAJOR = 7
-ONBITSMINOR = 8
-OMAXMAJ = 0x7f
-OMAXMIN = 0xff
-NBITSMAJOR = 14
-NBITSMINOR = 18
-MAXMAJ = 0x1ff
-MAXMIN = 0x3ffff
-OLDDEV = 0
-NEWDEV = 1
-MKDEV_VER = NEWDEV
-def major(dev): return __major(MKDEV_VER, dev)
-
-def minor(dev): return __minor(MKDEV_VER, dev)
-
-
-# Included from sys/select.h
-FD_SETSIZE = 1024
-__NBBY = 8
-
-# Included from string.h
-NULL = 0L
-NBBY = 8
-FNDELAY = 0x04
-FAPPEND = 0x08
-FSYNC = 0x10
-FDSYNC = 0x20
-FRSYNC = 0x40
-FNONBLOCK = 0x80
-FASYNC = 0x1000
-FLARGEFILE = 0x2000
-FNONBLK = FNONBLOCK
-FDIRECT = 0x8000
-FDIRENT64 = 0x8000
-FCREAT = 0x0100
-FTRUNC = 0x0200
-FEXCL = 0x0400
-FNOCTTY = 0x0800
-O_RDONLY = 0
-O_WRONLY = 1
-O_RDWR = 2
-O_NDELAY = 0x04
-O_APPEND = 0x08
-O_SYNC = 0x10
-O_DSYNC = 0x20
-O_RSYNC = 0x40
-O_NONBLOCK = 0x80
-O_LARGEFILE = 0x2000
-O_DIRECT = 0x8000
-O_CREAT = 0x100
-O_TRUNC = 0x200
-O_EXCL = 0x400
-O_NOCTTY = 0x800
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETLK = 14
-F_SETLK = 6
-F_SETLKW = 7
-F_CHKFL = 8
-F_ALLOCSP = 10
-F_FREESP = 11
-F_SETBSDLK = 12
-F_SETBSDLKW = 13
-F_DIOINFO = 30
-F_FSGETXATTR = 31
-F_FSSETXATTR = 32
-F_GETLK64 = 33
-F_SETLK64 = 34
-F_SETLKW64 = 35
-F_ALLOCSP64 = 36
-F_FREESP64 = 37
-F_GETBMAP = 38
-F_FSSETDM = 39
-F_RESVSP = 40
-F_UNRESVSP = 41
-F_RESVSP64 = 42
-F_UNRESVSP64 = 43
-F_GETBMAPA = 44
-F_FSGETXATTRA = 45
-F_GETALLLK = 46
-F_RSETLK = 20
-F_RGETLK = 21
-F_RSETLKW = 22
-F_GETOWN = 23
-F_SETOWN = 24
-F_RDLCK = 01
-F_WRLCK = 02
-F_UNLCK = 03
-O_ACCMODE = 3
-FD_CLOEXEC = 1
-FD_NODUP_FORK = 4
diff --git a/Lib/plat-linux1/FCNTL.py b/Lib/plat-linux1/FCNTL.py
deleted file mode 100755
index f65c4fa..0000000
--- a/Lib/plat-linux1/FCNTL.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# Generated by h2py from /usr/include/sys/fcntl.h
-
-# Included from fcntl.h
-
-# Included from features.h
-_FEATURES_H = 1
-_GNU_SOURCE = 1
-__USE_ANSI = 1
-__FAVOR_BSD = 1
-_BSD_SOURCE = 1
-_SVID_SOURCE = 1
-_POSIX_SOURCE = 1
-_POSIX_C_SOURCE = 2
-__USE_POSIX = 1
-__USE_POSIX2 = 1
-__USE_MISC = 1
-__USE_BSD = 1
-__USE_SVID = 1
-__USE_GNU = 1
-__GNU_LIBRARY__ = 1
-
-# Included from sys/cdefs.h
-_SYS_CDEFS_H = 1
-def __P(args): return args	 
-
-def __P(args): return args
-
-def __P(args): return ()	 
-
-def __STRING(x): return #x
-
-def __STRING(x): return "x"
-
-
-# Included from sys/types.h
-
-# Included from linux/types.h
-__FD_SETSIZE = 256
-
-# Included from asm/types.h
-def __FD_ZERO(fdsetp): return \
-
-
-# Included from sys/bitypes.h
-
-# Included from gnu/types.h
-_GNU_TYPES_H = 1
-__FDSET_LONGS = 8
-def __FD_ZERO(fdsetp): return \
-
-__FD_SETSIZE = 256
-def __FDELT(d): return ((d) / __NFDBITS)
-
-def __FDMASK(d): return (1 << ((d) % __NFDBITS))
-
-def __FD_ZERO(set): return \
-
-
-# Included from linux/fcntl.h
-
-# Included from asm/fcntl.h
-O_ACCMODE = 0003
-O_RDONLY = 00
-O_WRONLY = 01
-O_RDWR = 02
-O_CREAT = 0100
-O_EXCL = 0200
-O_NOCTTY = 0400
-O_TRUNC = 01000
-O_APPEND = 02000
-O_NONBLOCK = 04000
-O_NDELAY = O_NONBLOCK
-O_SYNC = 010000
-FASYNC = 020000
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETLK = 5
-F_SETLK = 6
-F_SETLKW = 7
-F_SETOWN = 8
-F_GETOWN = 9
-FD_CLOEXEC = 1
-F_RDLCK = 0
-F_WRLCK = 1
-F_UNLCK = 2
-F_EXLCK = 4
-F_SHLCK = 8
-LOCK_SH = 1
-LOCK_EX = 2
-LOCK_NB = 4
-LOCK_UN = 8
-F_POSIX = 1
-F_FLOCK = 2
-FNDELAY = O_NDELAY
-F_ULOCK = 0
-F_LOCK = 1
-F_TLOCK = 2
-F_TEST = 3
diff --git a/Lib/plat-linux2/FCNTL.py b/Lib/plat-linux2/FCNTL.py
deleted file mode 100644
index 0058aba..0000000
--- a/Lib/plat-linux2/FCNTL.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# Generated by h2py from /usr/include/sys/fcntl.h
-
-# Included from fcntl.h
-
-# Included from features.h
-_FEATURES_H = 1
-_GNU_SOURCE = 1
-__USE_ANSI = 1
-__FAVOR_BSD = 1
-_BSD_SOURCE = 1
-_SVID_SOURCE = 1
-_POSIX_SOURCE = 1
-_POSIX_C_SOURCE = 2
-__USE_POSIX = 1
-__USE_POSIX2 = 1
-__USE_MISC = 1
-__USE_BSD = 1
-__USE_SVID = 1
-__USE_GNU = 1
-__GNU_LIBRARY__ = 1
-
-# Included from sys/cdefs.h
-_SYS_CDEFS_H = 1
-def __P(args): return args	 
-
-def __P(args): return args
-
-def __P(args): return ()	 
-
-def __STRING(x): return #x
-
-def __STRING(x): return "x"
-
-
-# Included from sys/types.h
-
-# Included from linux/types.h
-
-# Included from linux/posix_types.h
-__FD_SETSIZE = 1024
-def __FDELT(d): return ((d) / __NFDBITS)
-
-
-# Included from asm/posix_types.h
-def __FD_ZERO(fdsetp): return \
-
-
-# Included from asm/types.h
-
-# Included from sys/bitypes.h
-
-# Included from gnu/types.h
-_GNU_TYPES_H = 1
-__FDSET_LONGS = 8
-def __FD_ZERO(fdsetp): return \
-
-__FD_SETSIZE = 256
-def __FDELT(d): return ((d) / __NFDBITS)
-
-def __FDMASK(d): return (1 << ((d) % __NFDBITS))
-
-def __FD_ZERO(set): return \
-
-
-# Included from linux/fcntl.h
-
-# Included from asm/fcntl.h
-O_ACCMODE = 0003
-O_RDONLY = 00
-O_WRONLY = 01
-O_RDWR = 02
-O_CREAT = 0100
-O_EXCL = 0200
-O_NOCTTY = 0400
-O_TRUNC = 01000
-O_APPEND = 02000
-O_NONBLOCK = 04000
-O_NDELAY = O_NONBLOCK
-O_SYNC = 010000
-FASYNC = 020000
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETLK = 5
-F_SETLK = 6
-F_SETLKW = 7
-F_SETOWN = 8
-F_GETOWN = 9
-FD_CLOEXEC = 1
-F_RDLCK = 0
-F_WRLCK = 1
-F_UNLCK = 2
-F_EXLCK = 4
-F_SHLCK = 8
-LOCK_SH = 1
-LOCK_EX = 2
-LOCK_NB = 4
-LOCK_UN = 8
-F_POSIX = 1
-F_FLOCK = 2
-F_BROKEN = 4
-FNDELAY = O_NDELAY
-F_ULOCK = 0
-F_LOCK = 1
-F_TLOCK = 2
-F_TEST = 3
diff --git a/Lib/plat-netbsd1/FCNTL.py b/Lib/plat-netbsd1/FCNTL.py
deleted file mode 100644
index c6b9c0f..0000000
--- a/Lib/plat-netbsd1/FCNTL.py
+++ /dev/null
@@ -1,121 +0,0 @@
-# Generated by h2py from /usr/include/fcntl.h
-
-# Included from sys/types.h
-
-# Included from machine/types.h
-
-# Included from sys/cdefs.h
-
-# Included from machine/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 __kprintf_attribute__(a): return __attribute__(a)
-
-
-# Included from machine/ansi.h
-_BSD_PTRDIFF_T_ = int
-_BSD_SSIZE_T_ = int
-_BSD_TIME_T_ = long
-_BSD_CLOCKID_T_ = int
-_BSD_TIMER_T_ = int
-_BSD_WCHAR_T_ = int
-_BSD_WINT_T_ = int
-_BSD_RUNE_T_ = int
-
-# Included from machine/endian.h
-_QUAD_HIGHWORD = 1
-_QUAD_LOWWORD = 0
-LITTLE_ENDIAN = 1234
-BIG_ENDIAN = 4321
-PDP_ENDIAN = 3412
-BYTE_ORDER = LITTLE_ENDIAN
-def __byte_swap_long_variable(x): return \
-
-def __byte_swap_long_variable(x): return \
-
-def __byte_swap_word_variable(x): return \
-
-def __byte_swap_long_constant(x): return \
-
-def __byte_swap_word_constant(x): return \
-
-def __byte_swap_long(x): return \
-
-def __byte_swap_word(x): return \
-
-def __byte_swap_long(x): return __byte_swap_long_variable(x)
-
-def __byte_swap_word(x): return __byte_swap_word_variable(x)
-
-def ntohl(x): return __byte_swap_long(x)
-
-def ntohs(x): return __byte_swap_word(x)
-
-def htonl(x): return __byte_swap_long(x)
-
-def htons(x): return __byte_swap_word(x)
-
-def major(x): return ((int32_t)(((u_int32_t)(x) >> 8) & 0xff))
-
-def minor(x): return ((int32_t)((x) & 0xff))
-
-NBBY = 8
-FD_SETSIZE = 256
-O_RDONLY = 0x0000
-O_WRONLY = 0x0001
-O_RDWR = 0x0002
-O_ACCMODE = 0x0003
-FREAD = 0x0001
-FWRITE = 0x0002
-O_NONBLOCK = 0x0004
-O_APPEND = 0x0008
-O_SHLOCK = 0x0010
-O_EXLOCK = 0x0020
-O_ASYNC = 0x0040
-O_FSYNC = 0x0080
-O_CREAT = 0x0200
-O_TRUNC = 0x0400
-O_EXCL = 0x0800
-FMARK = 0x1000
-FDEFER = 0x2000
-FHASLOCK = 0x4000
-O_NOCTTY = 0
-def FFLAGS(oflags): return ((oflags) + 1)
-
-def OFLAGS(fflags): return ((fflags) - 1)
-
-FAPPEND = O_APPEND
-FASYNC = O_ASYNC
-FFSYNC = O_FSYNC
-FNONBLOCK = O_NONBLOCK
-FNDELAY = O_NONBLOCK
-O_NDELAY = O_NONBLOCK
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETOWN = 5
-F_SETOWN = 6
-F_GETLK = 7
-F_SETLK = 8
-F_SETLKW = 9
-FD_CLOEXEC = 1
-F_RDLCK = 1
-F_UNLCK = 2
-F_WRLCK = 3
-F_WAIT = 0x010
-F_FLOCK = 0x020
-F_POSIX = 0x040
-LOCK_SH = 0x01
-LOCK_EX = 0x02
-LOCK_NB = 0x04
-LOCK_UN = 0x08
diff --git a/Lib/plat-sunos4/FCNTL.py b/Lib/plat-sunos4/FCNTL.py
deleted file mode 100755
index 1256d81..0000000
--- a/Lib/plat-sunos4/FCNTL.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Generated by h2py from stdin
-_FOPEN = (-1)
-_FREAD = 0x0001
-_FWRITE = 0x0002
-_FNDELAY = 0x0004
-_FAPPEND = 0x0008
-_FSETBLK = 0x0010
-_FASYNC = 0x0040
-_FSHLOCK = 0x0080
-_FEXLOCK = 0x0100
-_FCREAT = 0x0200
-_FTRUNC = 0x0400
-_FEXCL = 0x0800
-_FNBIO = 0x1000
-_FSYNC = 0x2000
-_FNONBLOCK = 0x4000
-_FNOCTTY = 0x8000
-_FMARK = 0x10000
-_FDEFER = 0x20000
-O_RDONLY = 0
-O_WRONLY = 1
-O_RDWR = 2
-O_APPEND = _FAPPEND
-O_CREAT = _FCREAT
-O_TRUNC = _FTRUNC
-O_EXCL = _FEXCL
-O_NONBLOCK = _FNONBLOCK
-O_NOCTTY = _FNOCTTY
-O_SYNC = _FSYNC
-FAPPEND = _FAPPEND
-FSYNC = _FSYNC
-FASYNC = _FASYNC
-FNBIO = _FNBIO
-FNONBIO = _FNONBLOCK
-FNDELAY = _FNDELAY
-FREAD = _FREAD
-FWRITE = _FWRITE
-FMARK = _FMARK
-FDEFER = _FDEFER
-FSETBLK = _FSETBLK
-FSHLOCK = _FSHLOCK
-FEXLOCK = _FEXLOCK
-FOPEN = _FOPEN
-FCREAT = _FCREAT
-FTRUNC = _FTRUNC
-FEXCL = _FEXCL
-FNOCTTY = _FNOCTTY
-FD_CLOEXEC = 1
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETOWN = 5
-F_SETOWN = 6
-F_GETLK = 7
-F_SETLK = 8
-F_SETLKW = 9
-F_RGETLK = 10
-F_RSETLK = 11
-F_CNVT = 12
-F_RSETLKW = 13
-F_RDLCK = 1
-F_WRLCK = 2
-F_UNLCK = 3
-F_UNLKSYS = 4
-O_ACCMODE = (O_RDONLY|O_WRONLY|O_RDWR)
diff --git a/Lib/plat-sunos5/FCNTL.py b/Lib/plat-sunos5/FCNTL.py
deleted file mode 100755
index 78dbe70..0000000
--- a/Lib/plat-sunos5/FCNTL.py
+++ /dev/null
@@ -1,204 +0,0 @@
-# Generated by h2py from /usr/include/sys/fcntl.h
-
-# Included from sys/feature_tests.h
-_POSIX_C_SOURCE = 1
-
-# Included from sys/types.h
-
-# Included from sys/isa_defs.h
-_CHAR_ALIGNMENT = 1
-_SHORT_ALIGNMENT = 2
-_INT_ALIGNMENT = 4
-_LONG_ALIGNMENT = 4
-_LONG_LONG_ALIGNMENT = 4
-_DOUBLE_ALIGNMENT = 4
-_LONG_DOUBLE_ALIGNMENT = 4
-_POINTER_ALIGNMENT = 4
-_MAX_ALIGNMENT = 4
-_ALIGNMENT_REQUIRED = 0
-_CHAR_ALIGNMENT = 1
-_SHORT_ALIGNMENT = 2
-_INT_ALIGNMENT = 4
-_LONG_ALIGNMENT = 4
-_LONG_LONG_ALIGNMENT = 8
-_DOUBLE_ALIGNMENT = 8
-_LONG_DOUBLE_ALIGNMENT = 16
-_POINTER_ALIGNMENT = 4
-_MAX_ALIGNMENT = 16
-_ALIGNMENT_REQUIRED = 1
-_CHAR_ALIGNMENT = 1
-_SHORT_ALIGNMENT = 2
-_INT_ALIGNMENT = 4
-_LONG_ALIGNMENT = 4
-_LONG_LONG_ALIGNMENT = 8
-_DOUBLE_ALIGNMENT = 8
-_LONG_DOUBLE_ALIGNMENT = 8
-_POINTER_ALIGNMENT = 4
-_MAX_ALIGNMENT = 8
-_ALIGNMENT_REQUIRED = 1
-
-# Included from sys/machtypes.h
-SHRT_MIN = -32768
-SHRT_MAX = 32767
-INT_MIN = (-2147483647-1)
-INT_MAX = 2147483647
-LONG_MIN = (-2147483647-1)
-LONG_MAX = 2147483647
-P_MYID = (-1)
-
-# Included from sys/select.h
-
-# Included from sys/time.h
-DST_NONE = 0
-DST_USA = 1
-DST_AUST = 2
-DST_WET = 3
-DST_MET = 4
-DST_EET = 5
-DST_CAN = 6
-DST_GB = 7
-DST_RUM = 8
-DST_TUR = 9
-DST_AUSTALT = 10
-ITIMER_REAL = 0
-ITIMER_VIRTUAL = 1
-ITIMER_PROF = 2
-ITIMER_REALPROF = 3
-SEC = 1
-MILLISEC = 1000
-MICROSEC = 1000000
-NANOSEC = 1000000000
-__CLOCK_REALTIME0 = 0
-CLOCK_VIRTUAL = 1
-CLOCK_PROF = 2
-__CLOCK_REALTIME3 = 3
-CLOCK_REALTIME = __CLOCK_REALTIME3
-CLOCK_REALTIME = __CLOCK_REALTIME0
-TIMER_RELTIME = 0x0
-TIMER_ABSTIME = 0x1
-
-# Included from sys/mutex.h
-
-# Included from sys/dki_lkinfo.h
-
-# Included from sys/dl.h
-NOSTATS = 1
-LSB_NLKDS = 91
-def MUTEX_HELD(x): return (mutex_owned(x))
-
-
-# Included from time.h
-NULL = 0
-CLOCKS_PER_SEC = 1000000
-
-# Included from sys/siginfo.h
-SIGEV_NONE = 1
-SIGEV_SIGNAL = 2
-SIGEV_THREAD = 3
-SI_NOINFO = 32767
-SI_USER = 0
-SI_LWP = (-1)
-SI_QUEUE = (-2)
-SI_TIMER = (-3)
-SI_ASYNCIO = (-4)
-SI_MESGQ = (-5)
-
-# Included from sys/machsig.h
-ILL_ILLOPC = 1
-ILL_ILLOPN = 2
-ILL_ILLADR = 3
-ILL_ILLTRP = 4
-ILL_PRVOPC = 5
-ILL_PRVREG = 6
-ILL_COPROC = 7
-ILL_BADSTK = 8
-NSIGILL = 8
-EMT_TAGOVF = 1
-NSIGEMT = 1
-FPE_INTDIV = 1
-FPE_INTOVF = 2
-FPE_FLTDIV = 3
-FPE_FLTOVF = 4
-FPE_FLTUND = 5
-FPE_FLTRES = 6
-FPE_FLTINV = 7
-FPE_FLTSUB = 8
-NSIGFPE = 8
-SEGV_MAPERR = 1
-SEGV_ACCERR = 2
-NSIGSEGV = 2
-BUS_ADRALN = 1
-BUS_ADRERR = 2
-BUS_OBJERR = 3
-NSIGBUS = 3
-TRAP_BRKPT = 1
-TRAP_TRACE = 2
-NSIGTRAP = 2
-CLD_EXITED = 1
-CLD_KILLED = 2
-CLD_DUMPED = 3
-CLD_TRAPPED = 4
-CLD_STOPPED = 5
-CLD_CONTINUED = 6
-NSIGCLD = 6
-POLL_IN = 1
-POLL_OUT = 2
-POLL_MSG = 3
-POLL_ERR = 4
-POLL_PRI = 5
-POLL_HUP = 6
-NSIGPOLL = 6
-PROF_SIG = 1
-NSIGPROF = 1
-SI_MAXSZ = 128
-def SI_CANQUEUE(c): return ((c) <= SI_QUEUE)
-
-FD_SETSIZE = 1024
-NBBY = 8
-O_RDONLY = 0
-O_WRONLY = 1
-O_RDWR = 2
-O_NDELAY = 0x04
-O_APPEND = 0x08
-O_SYNC = 0x10
-O_DSYNC = 0x40
-O_RSYNC = 0x8000
-O_NONBLOCK = 0x80
-O_PRIV = 0x1000
-O_CREAT = 0x100
-O_TRUNC = 0x200
-O_EXCL = 0x400
-O_NOCTTY = 0x800
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_SETLK = 6
-F_SETLKW = 7
-F_O_GETLK = 5
-F_SETLK = 6
-F_SETLKW = 7
-F_CHKFL = 8
-F_ALLOCSP = 10
-F_FREESP = 11
-F_ISSTREAM = 13
-F_GETLK = 14
-F_PRIV = 15
-F_NPRIV = 16
-F_QUOTACTL = 17
-F_BLOCKS = 18
-F_BLKSIZE = 19
-F_RSETLK = 20
-F_RGETLK = 21
-F_RSETLKW = 22
-F_GETOWN = 23
-F_SETOWN = 24
-F_REVOKE = 25
-F_HASREMOTELOCKS = 26
-F_RDLCK = 01
-F_WRLCK = 02
-F_UNLCK = 03
-F_UNLKSYS = 04
-O_ACCMODE = 3
-FD_CLOEXEC = 1
diff --git a/Lib/plat-unixware7/FCNTL.py b/Lib/plat-unixware7/FCNTL.py
deleted file mode 100644
index ddbc9aa..0000000
--- a/Lib/plat-unixware7/FCNTL.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# Generated by h2py from /usr/include/sys/fcntl.h
-
-# Included from sys/types.h
-def quad_low(x): return x.val[0]
-
-ADT_EMASKSIZE = 8
-SHRT_MIN = -32768
-SHRT_MAX = 32767
-INT_MIN = (-2147483647-1)
-INT_MAX = 2147483647
-LONG_MIN = (-2147483647-1)
-LONG_MAX = 2147483647
-OFF32_MAX = LONG_MAX
-ISTAT_ASSERTED = 0
-ISTAT_ASSUMED = 1
-ISTAT_NONE = 2
-OFF_MAX = OFF32_MAX
-CLOCK_MAX = LONG_MAX
-P_MYID = (-1)
-P_MYHOSTID = (-1)
-
-# Included from sys/select.h
-FD_SETSIZE = 4096
-NBBY = 8
-NULL = 0
-O_RDONLY = 0
-O_WRONLY = 1
-O_RDWR = 2
-O_NDELAY = 0x04
-O_APPEND = 0x08
-O_SYNC = 0x10
-O_NONBLOCK = 0x80
-O_LARGEFILE = 0x80000
-O_CREAT = 0x100
-O_TRUNC = 0x200
-O_EXCL = 0x400
-O_NOCTTY = 0x800
-F_DUPFD = 0
-F_GETFD = 1
-F_SETFD = 2
-F_GETFL = 3
-F_SETFL = 4
-F_GETLK = 14
-F_O_GETLK = 5
-F_GETLK = 5
-F_GETLK = 14
-F_SETLK = 6
-F_SETLKW = 7
-F_CHKFL = 8
-F_ALLOCSP = 10
-F_FREESP = 11
-F_RSETLK = 20
-F_RGETLK = 21
-F_RSETLKW = 22
-F_GETOWN = 23
-F_SETOWN = 24
-F_DUP2 = 25
-F_GETLK64 = 100
-F_SETLKW64 = 101
-F_SETLK64 = 102
-F_RSETLK64 = 103
-F_RGETLK64 = 104
-F_RSETLKW64 = 105
-F_FREESP64 = 106
-F_RDCHK = 0x6001
-F_GETLK = F_GETLK64
-F_SETLKW = F_SETLKW64
-F_SETLK = F_SETLK64
-F_RSETLK = F_RSETLK64
-F_RGETLK = F_RGETLK64
-F_RSETLKW = F_RSETLKW64
-F_FREESP = F_FREESP64
-F_RDLCK = 01
-F_WRLCK = 02
-F_UNLCK = 03
-O_ACCMODE = 3
-FD_CLOEXEC = 1
