regenerated files from IRIX 5.3 headers
diff --git a/Lib/irix5/FCNTL.py b/Lib/irix5/FCNTL.py
index 12c60fa..96d8451 100755
--- a/Lib/irix5/FCNTL.py
+++ b/Lib/irix5/FCNTL.py
@@ -1,4 +1,40 @@
 # 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
@@ -28,8 +64,6 @@
 F_GETFL = 3
 F_SETFL = 4
 F_GETLK = 14
-F_O_GETLK = 5
-F_GETLK = 14
 F_SETLK = 6
 F_SETLKW = 7
 F_CHKFL = 8
@@ -38,11 +72,21 @@
 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
diff --git a/Lib/irix5/FILE.py b/Lib/irix5/FILE.py
new file mode 100755
index 0000000..05697c1
--- /dev/null
+++ b/Lib/irix5/FILE.py
@@ -0,0 +1,239 @@
+# Generated by h2py from /usr/include/sys/file.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 sys/sema.h
+HP_NOPOLICY = 0
+HP_ADDOFF = 1
+HP_MULOFF = 2
+SEMA_NAMSZ = 8
+SEMA_NOHIST = 0x1
+SEMA_LIFO = 0x2
+SEMA_MUTEX = 0x4
+SEMA_METER = 0x8
+SEMAOP_PSEMA = 1
+SEMAOP_VSEMA = 2
+SEMAOP_CPSEMA = 3
+SEMAOP_CVSEMA = 4
+SEMAOP_WSEMA = 5
+SEMAOP_UNSEMA = 6
+SEMAOP_INIT = 7
+SEMAOP_FREE = 8
+SSOP_PHIT = 1
+SSOP_PSLP = 2
+SSOP_PWAKE = 6
+SSOP_PRESIG = 7
+SSOP_POSTSIG = 8
+SSOP_VNOWAKE = 3
+SSOP_VWAKE = 4
+SSOP_CPHIT = 1
+SSOP_CPMISS = 5
+SSOP_CVNOWAKE = 3
+SSOP_CVWAKE = 4
+SSOP_WMISS = 5
+SSOP_WWAKE = 4
+SSOP_RMV = 9
+TZERO = 10
+SEMA_NOP = 0
+SEMA_WAKE = 1
+SEMA_VSEMA = 2
+SEMA_SPINOP = 3
+MR_ACCESS = 0x1
+MR_UPDATE = 0x2
+def cv_signal(cv): return cvsema(cv);
+
+def cv_destroy(cv): return freesema(cv)
+
+def mutex_enter(m): return psema(m, PZERO | PNOSTOP)
+
+def mutex_exit(m): return vsema(m)
+
+def mutex_destroy(m): return freesema(m)
+
+def MUTEX_HELD(m): return (ownsema(m))
+
+def MUTEX_HELD(m): return (1)
+
+RW_READER = MR_ACCESS
+RW_WRITER = MR_UPDATE
+def rw_exit(r): return mrunlock(r)
+
+def rw_tryupgrade(r): return cmrpromote(r)
+
+def rw_downgrade(r): return mrdemote(r)
+
+def rw_destroy(r): return mrfree(r)
+
+def RW_WRITE_HELD(r): return ismrlocked(r, MR_UPDATE)
+
+def RW_READ_HELD(r): return ismrlocked(r, MR_ACCESS)
+
+
+# Included from sys/splock.h
+SPLOCKNAMSIZ = 8
+SPLOCK_NONE = 0
+SPLOCK_SOFT = 1
+SPLOCK_HARD = 2
+OWNER_NONE = -1
+MAP_LOCKID = 0
+SPLOCK_MAX = (96*1024)
+SPLOCK_MAX = 32768
+MIN_POOL_SIZE = 256
+MAX_POOL_SIZE = 16384
+DEF_SEMA_POOL = 8192
+DEF_VNODE_POOL = 1024
+DEF_FILE_POOL = 1024
+def ownlock(x): return 1
+
+def splock(x): return 1
+
+def io_splock(x): return 1
+
+def apvsema(x): return vsema(x)
+
+def apcpsema(x): return cpsema(x)
+
+def apcvsema(x): return cvsema(x)
+
+def mp_mrunlock(a): return mrunlock(a)
+
+def apvsema(x): return 0
+
+def apcpsema(x): return 1
+
+def apcvsema(x): return 0
+
+def mp_mrunlock(a): return 0
+
+
+# Included from sys/fcntl.h
+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
+FMASK = 0x90FF
+FOPEN = 0xFFFFFFFF
+FREAD = 0x01
+FWRITE = 0x02
+FNDELAY = 0x04
+FAPPEND = 0x08
+FSYNC = 0x10
+FNONBLOCK = 0x80
+FASYNC = 0x1000
+FNONBLK = FNONBLOCK
+FDIRECT = 0x8000
+FCREAT = 0x0100
+FTRUNC = 0x0200
+FEXCL = 0x0400
+FNOCTTY = 0x0800
+IRIX4_FASYNC = 0x40
+FMARK = 0x4000
+FDEFER = 0x2000
+FINPROGRESS = 0x0400
+FINVIS = 0x0100
+FNMFS = 0x2000
+FCLOSEXEC = 001
+FDSHD = 0x0001
+FDNOMARK = 0x0002
+FDIGNPROGRESS = 0x0004
+LOCK_SH = 1
+LOCK_EX = 2
+LOCK_NB = 4
+LOCK_UN = 8
+F_OK = 0
+X_OK = 1
+W_OK = 2
+R_OK = 4
+L_SET = 0
+L_INCR = 1
+L_XTND = 2
diff --git a/Lib/irix5/IN.py b/Lib/irix5/IN.py
index 325a021..2d67892 100755
--- a/Lib/irix5/IN.py
+++ b/Lib/irix5/IN.py
@@ -1,8 +1,51 @@
 # Generated by h2py from /usr/include/netinet/in.h
+
+# Included from sys/endian.h
+LITTLE_ENDIAN = 1234
+BIG_ENDIAN = 4321
+PDP_ENDIAN = 3412
+BYTE_ORDER = BIG_ENDIAN
+BYTE_ORDER = LITTLE_ENDIAN
+def ntohl(x): return (x)
+
+def ntohs(x): return (x)
+
+def htonl(x): return (x)
+
+def htons(x): return (x)
+
+def htonl(x): return ntohl(x)
+
+def htons(x): return ntohs(x)
+
+
+# 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
 IPPROTO_IP = 0
 IPPROTO_ICMP = 1
 IPPROTO_IGMP = 2
 IPPROTO_GGP = 3
+IPPROTO_ENCAP = 4
 IPPROTO_TCP = 6
 IPPROTO_EGP = 8
 IPPROTO_PUP = 12
@@ -17,20 +60,35 @@
 IPPROTO_MAX = 256
 IPPORT_RESERVED = 1024
 IPPORT_USERRESERVED = 5000
+IPPORT_MAXPORT = 65535
+def IN_CLASSA(i): return (((long)(i) & 0x80000000) == 0)
+
 IN_CLASSA_NET = 0xff000000
 IN_CLASSA_NSHIFT = 24
 IN_CLASSA_HOST = 0x00ffffff
 IN_CLASSA_MAX = 128
+def IN_CLASSB(i): return (((long)(i) & 0xc0000000) == 0x80000000)
+
 IN_CLASSB_NET = 0xffff0000
 IN_CLASSB_NSHIFT = 16
 IN_CLASSB_HOST = 0x0000ffff
 IN_CLASSB_MAX = 65536
+def IN_CLASSC(i): return (((long)(i) & 0xe0000000) == 0xc0000000)
+
 IN_CLASSC_NET = 0xffffff00
 IN_CLASSC_NSHIFT = 8
 IN_CLASSC_HOST = 0x000000ff
+def IN_CLASSD(i): return (((long)(i) & 0xf0000000) == 0xe0000000)
+
 IN_CLASSD_NET = 0xf0000000
 IN_CLASSD_NSHIFT = 28
 IN_CLASSD_HOST = 0x0fffffff
+def IN_MULTICAST(i): return IN_CLASSD(i)
+
+def IN_EXPERIMENTAL(i): return (((long)(i) & 0xf0000000) == 0xf0000000)
+
+def IN_BADCLASS(i): return (((long)(i) & 0xf0000000) == 0xf0000000)
+
 INADDR_ANY = 0x00000000
 INADDR_BROADCAST = 0xffffffff
 INADDR_LOOPBACK = 0x7F000001
diff --git a/Lib/irix5/SOCKET.py b/Lib/irix5/SOCKET.py
index 0ba0742..401de2b 100755
--- a/Lib/irix5/SOCKET.py
+++ b/Lib/irix5/SOCKET.py
@@ -1,4 +1,27 @@
 # Generated by h2py from /usr/include/sys/socket.h
+
+# 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
 SOCK_STREAM = 1
 SOCK_DGRAM = 2
 SOCK_RAW = 3
@@ -70,6 +93,8 @@
 AF_GOSIP = 22
 AF_SDL = 23
 AF_MAX = (AF_SDL+1)
+def OPTLEN(x): return ((((x) + sizeof(long) - 1) / sizeof(long)) * sizeof(long))
+
 PF_UNSPEC = AF_UNSPEC
 PF_UNIX = AF_UNIX
 PF_INET = AF_INET
diff --git a/Lib/irix5/TERMIOS.py b/Lib/irix5/TERMIOS.py
index a360786..2ac7487 100755
--- a/Lib/irix5/TERMIOS.py
+++ b/Lib/irix5/TERMIOS.py
@@ -1,6 +1,4 @@
-# Generated by h2py from /usr/include/termios.h
-
-# Included from sys/termios.h
+# Generated by h2py from /usr/include/sys/termios.h
 
 # Included from sys/ttydev.h
 B0 = 0
@@ -30,7 +28,8 @@
 _MIPS_ISA_MIPS3 = 3
 _MIPS_ISA_MIPS4 = 4
 _MIPS_SIM_ABI32 = 1
-_MIPS_SIM_ABI64 = 2
+_MIPS_SIM_NABI32 = 2
+_MIPS_SIM_ABI64 = 3
 P_MYID = (-1)
 P_MYHOSTID = (-1)
 
@@ -43,7 +42,7 @@
 OMAXMIN = 0xff
 NBITSMAJOR = 14
 NBITSMINOR = 18
-MAXMAJ = 0xff
+MAXMAJ = 0x1ff
 MAXMIN = 0x3ffff
 OLDDEV = 0
 NEWDEV = 1
@@ -222,6 +221,244 @@
 # Included from net/soioctl.h
 
 # Included from sys/termio.h
+
+# Included from sys/termios.h
+_POSIX_VDISABLE = 0
+def CTRL(c): return ((c)&037)
+
+IBSHIFT = 16
+NCC = 8
+NCCS = 23
+VINTR = 0
+VQUIT = 1
+VERASE = 2
+VKILL = 3
+VEOF = 4
+VEOL = 5
+VEOL2 = 6
+VMIN = 4
+VTIME = 5
+VSWTCH = 7
+VSTART = 8
+VSTOP = 9
+VSUSP = 10
+VDSUSP = 11
+VREPRINT = 12
+VDISCARD = 13
+VWERASE = 14
+VLNEXT = 15
+VRPRNT = VREPRINT
+VFLUSHO = VDISCARD
+VCEOF = NCC
+VCEOL = (NCC + 1)
+CNUL = 0
+CDEL = 0377
+CESC = ord('\\')
+CINTR = 0177
+CQUIT = 034
+CERASE = CTRL(ord('H'))
+CKILL = CTRL(ord('U'))
+CEOL = 0
+CEOL2 = 0
+CEOF = CTRL(ord('d'))
+CEOT = CEOF
+CSTART = CTRL(ord('q'))
+CSTOP = CTRL(ord('s'))
+CSWTCH = CTRL(ord('z'))
+CNSWTCH = 0
+CSUSP = CSWTCH
+CLNEXT = CTRL(ord('v'))
+CWERASE = CTRL(ord('w'))
+CFLUSHO = CTRL(ord('o'))
+CFLUSH = CFLUSHO
+CRPRNT = CTRL(ord('r'))
+CDSUSP = CTRL(ord('y'))
+CBRK = 0377
+IGNBRK = 0000001
+BRKINT = 0000002
+IGNPAR = 0000004
+PARMRK = 0000010
+INPCK = 0000020
+ISTRIP = 0000040
+INLCR = 0000100
+IGNCR = 0000200
+ICRNL = 0000400
+IUCLC = 0001000
+IXON = 0002000
+IXANY = 0004000
+IXOFF = 0010000
+IMAXBEL = 0020000
+IBLKMD = 0040000
+OPOST = 0000001
+OLCUC = 0000002
+ONLCR = 0000004
+OCRNL = 0000010
+ONOCR = 0000020
+ONLRET = 0000040
+OFILL = 0000100
+OFDEL = 0000200
+NLDLY = 0000400
+NL0 = 0
+NL1 = 0000400
+CRDLY = 0003000
+CR0 = 0
+CR1 = 0001000
+CR2 = 0002000
+CR3 = 0003000
+TABDLY = 0014000
+TAB0 = 0
+TAB1 = 0004000
+TAB2 = 0010000
+TAB3 = 0014000
+XTABS = 0014000
+BSDLY = 0020000
+BS0 = 0
+BS1 = 0020000
+VTDLY = 0040000
+VT0 = 0
+VT1 = 0040000
+FFDLY = 0100000
+FF0 = 0
+FF1 = 0100000
+PAGEOUT = 0200000
+WRAP = 0400000
+CBAUD = 000000017
+CSIZE = 000000060
+CS5 = 0
+CS6 = 000000020
+CS7 = 000000040
+CS8 = 000000060
+CSTOPB = 000000100
+CREAD = 000000200
+PARENB = 000000400
+PARODD = 000001000
+HUPCL = 000002000
+CLOCAL = 000004000
+RCV1EN = 000010000
+XMT1EN = 000020000
+LOBLK = 000040000
+XCLUDE = 000100000
+CIBAUD = 003600000
+PAREXT = 004000000
+CNEW_RTSCTS = 010000000
+ISIG = 0000001
+ICANON = 0000002
+XCASE = 0000004
+ECHO = 0000010
+ECHOE = 0000020
+ECHOK = 0000040
+ECHONL = 0000100
+NOFLSH = 0000200
+IEXTEN = 0000400
+ITOSTOP = 0100000
+TOSTOP = ITOSTOP
+ECHOCTL = 0001000
+ECHOPRT = 0002000
+ECHOKE = 0004000
+DEFECHO = 0010000
+FLUSHO = 0020000
+PENDIN = 0040000
+TIOC = (ord('T')<<8)
+TCGETA = (TIOC|1)
+TCSETA = (TIOC|2)
+TCSETAW = (TIOC|3)
+TCSETAF = (TIOC|4)
+TCSBRK = (TIOC|5)
+TCXONC = (TIOC|6)
+TCFLSH = (TIOC|7)
+LDISC0 = 0
+LDISC1 = 1
+NTTYDISC = LDISC1
+TIOCFLUSH = (TIOC|12)
+TCSETLABEL = (TIOC|31)
+TCDSET = (TIOC|32)
+TCBLKMD = (TIOC|33)
+TIOCPKT = (TIOC|112)
+TIOCPKT_DATA = 0x00
+TIOCPKT_FLUSHREAD = 0x01
+TIOCPKT_FLUSHWRITE = 0x02
+TIOCPKT_NOSTOP = 0x10
+TIOCPKT_DOSTOP = 0x20
+TIOCPKT_IOCTL = 0x40
+TIOCNOTTY = (TIOC|113)
+TIOCSTI = (TIOC|114)
+TFIOC = (ord('F')<<8)
+oFIONREAD = (TFIOC|127)
+TO_STOP = LOBLK
+IOCTYPE = 0xff00
+TCGETS = (TIOC|13)
+TCSETS = (TIOC|14)
+TCSETSW = (TIOC|15)
+TCSETSF = (TIOC|16)
+TCSANOW = ((ord('T')<<8)|14)
+TCSADRAIN = ((ord('T')<<8)|15)
+TCSAFLUSH = ((ord('T')<<8)|16)
+TCIFLUSH = 0
+TCOFLUSH = 1
+TCIOFLUSH = 2
+TCOOFF = 0
+TCOON = 1
+TCIOFF = 2
+TCION = 3
+tIOC = (ord('t')<<8)
+TIOCGETD = (tIOC|0)
+TIOCSETD = (tIOC|1)
+TIOCHPCL = (tIOC|2)
+TIOCGETP = (tIOC|8)
+TIOCSETP = (tIOC|9)
+TIOCSETN = (tIOC|10)
+TIOCEXCL = (tIOC|13)
+TIOCNXCL = (tIOC|14)
+TIOCSETC = (tIOC|17)
+TIOCGETC = (tIOC|18)
+TIOCLBIS = (tIOC|127)
+TIOCLBIC = (tIOC|126)
+TIOCLSET = (tIOC|125)
+TIOCLGET = (tIOC|124)
+TIOCSBRK = (tIOC|123)
+TIOCCBRK = (tIOC|122)
+TIOCSDTR = (tIOC|121)
+TIOCCDTR = (tIOC|120)
+TIOCSLTC = (tIOC|117)
+TIOCGLTC = (tIOC|116)
+TIOCOUTQ = (tIOC|115)
+TIOCSTOP = (tIOC|111)
+TIOCSTART = (tIOC|110)
+TIOCGSID = (tIOC|22)
+TIOCSSID = (tIOC|24)
+TIOCMSET = (tIOC|26)
+TIOCMBIS = (tIOC|27)
+TIOCMBIC = (tIOC|28)
+TIOCMGET = (tIOC|29)
+TIOCM_LE = 0001
+TIOCM_DTR = 0002
+TIOCM_RTS = 0004
+TIOCM_ST = 0010
+TIOCM_SR = 0020
+TIOCM_CTS = 0040
+TIOCM_CAR = 0100
+TIOCM_CD = TIOCM_CAR
+TIOCM_RNG = 0200
+TIOCM_RI = TIOCM_RNG
+TIOCM_DSR = 0400
+TIOCREMOTE = (tIOC|30)
+TIOCSIGNAL = (tIOC|31)
+ISPTM = ((ord('P')<<8)|1)
+UNLKPT = ((ord('P')<<8)|2)
+SVR4SOPEN = ((ord('P')<<8)|100)
+LDIOC = (ord('D')<<8)
+LDOPEN = (LDIOC|0)
+LDCLOSE = (LDIOC|1)
+LDCHG = (LDIOC|2)
+LDGETT = (LDIOC|8)
+LDSETT = (LDIOC|9)
+LDSMAP = (LDIOC|10)
+LDGMAP = (LDIOC|11)
+LDNMAP = (LDIOC|12)
+DIOC = (ord('d')<<8)
+DIOCGETP = (DIOC|8)
+DIOCSETP = (DIOC|9)
+FIORDCHK = ((ord('f')<<8)|3)
 CLNEXT = CTRL(ord('v'))
 CWERASE = CTRL(ord('w'))
 CFLUSHO = CTRL(ord('o'))
@@ -248,7 +485,7 @@
 LDISC1 = 1
 NTTYDISC = LDISC1
 TIOCFLUSH = (TIOC|12)
-TCSETLABEL = (TIOC|13)
+TCSETLABEL = (TIOC|31)
 TCDSET = (TIOC|32)
 TCBLKMD = (TIOC|33)
 TIOCPKT = (TIOC|112)
diff --git a/Lib/irix5/auds.py b/Lib/irix5/auds.py
deleted file mode 100755
index fb992a9..0000000
--- a/Lib/irix5/auds.py
+++ /dev/null
@@ -1,106 +0,0 @@
-import audio
-
-RATE = 8192
-
-# Initialize the audio stuff
-audio.setrate(3)
-audio.setoutgain(100)	# for speaker
-
-play = audio.write
-
-def samp(n):
-	savegain = audio.getoutgain()
-	try:
-		audio.setoutgain(0)
-		x = raw_input('Hit Enter to sample ' + `n` + ' seconds: ')
-		return audio.read(n*RATE)
-	finally:
-		audio.setoutgain(savegain)
-
-def echo(s, delay, gain):
-	return s[:delay] + audio.add(s[delay:], audio.amplify(s, gain, gain))
-
-def save(s, file):
-	f = open(file, 'w')
-	f.write(s)
-
-def load(file):
-	return loadfp(open(file, 'r'))
-
-def loadfp(fp):
-	s = ''
-	while 1:
-		buf = fp.read(16*1024)
-		if not buf: break
-		s = s + buf
-	return s
-
-def unbias(s):
-	if not s: return s
-	a = audio.chr2num(s)
-	sum = 0
-	for i in a: sum = sum + i
-	bias = (sum + len(a)/2) / len(a)
-	print 'Bias value:', bias
-	if bias:
-		for i in range(len(a)):
-			a[i] = a[i] - bias
-		s = audio.num2chr(a)
-	return s
-
-# Stretch by a/b.
-# Think of this as converting the sampling rate from a samples/sec
-# to b samples/sec.  Or, if the input is a bytes long, the output
-# will be b bytes long.
-#
-def stretch(s, a, b):
-	y = audio.chr2num(s)
-	m = len(y)
-	out = []
-	n = m * b / a
-	# i, j will walk through y and out (step 1)
-	# ib, ja are i*b, j*a and are kept as close together as possible
-	i, ib = 0, 0
-	j, ja = 0, 0
-	for j in range(n):
-		ja = ja+a
-		while ib < ja:
-			i = i+1
-			ib = ib+b
-		if i >= m:
-			break
-		if ib == ja:
-			out.append(y[i])
-		else:
-			out.append((y[i]*(ja-(ib-b)) + y[i-1]*(ib-ja)) / b)
-	return audio.num2chr(out)
-
-def sinus(freq): # return a 1-second sine wave
-	from math import sin, pi
-	factor = 2.0*pi*float(freq)/float(RATE)
-	list = range(RATE)
-	for i in list:
-		list[i] = int(sin(float(i) * factor) * 127.0)
-	return audio.num2chr(list)
-
-def softclip(s):
-	if '\177' not in s and '\200' not in s:
-		return s
-	num = audio.chr2num(s)
-	extremes = (-128, 127)
-	for i in range(1, len(num)-1):
-		if num[i] in extremes:
-			num[i] = (num[i-1] + num[i+1]) / 2
-	return audio.num2chr(num)
-
-def demo():
-	gday = load('gday')[1000:6000]
-	save(gday, 'gday0')
-	gg = [gday]
-	for i in range(1, 10):
-		for g in gg: play(g)
-		g = stretch(gday, 10, 10-i)
-		save(g, 'gday' + `i`)
-		gg.append(g)
-	while 1:
-		for g in gg: play(g)
diff --git a/Lib/irix5/regen b/Lib/irix5/regen
index 13f9d74..4c4ea5c 100755
--- a/Lib/irix5/regen
+++ b/Lib/irix5/regen
@@ -6,6 +6,7 @@
 esac
 set -v
 h2py /usr/include/sys/fcntl.h
+h2py /usr/include/sys/file.h
 h2py /usr/include/sys/socket.h
 h2py -i '(u_long)' /usr/include/netinet/in.h
 h2py /usr/include/sys/termios.h
diff --git a/Lib/plat-irix5/FCNTL.py b/Lib/plat-irix5/FCNTL.py
index 12c60fa..96d8451 100755
--- a/Lib/plat-irix5/FCNTL.py
+++ b/Lib/plat-irix5/FCNTL.py
@@ -1,4 +1,40 @@
 # 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
@@ -28,8 +64,6 @@
 F_GETFL = 3
 F_SETFL = 4
 F_GETLK = 14
-F_O_GETLK = 5
-F_GETLK = 14
 F_SETLK = 6
 F_SETLKW = 7
 F_CHKFL = 8
@@ -38,11 +72,21 @@
 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
diff --git a/Lib/plat-irix5/FILE.py b/Lib/plat-irix5/FILE.py
new file mode 100755
index 0000000..05697c1
--- /dev/null
+++ b/Lib/plat-irix5/FILE.py
@@ -0,0 +1,239 @@
+# Generated by h2py from /usr/include/sys/file.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 sys/sema.h
+HP_NOPOLICY = 0
+HP_ADDOFF = 1
+HP_MULOFF = 2
+SEMA_NAMSZ = 8
+SEMA_NOHIST = 0x1
+SEMA_LIFO = 0x2
+SEMA_MUTEX = 0x4
+SEMA_METER = 0x8
+SEMAOP_PSEMA = 1
+SEMAOP_VSEMA = 2
+SEMAOP_CPSEMA = 3
+SEMAOP_CVSEMA = 4
+SEMAOP_WSEMA = 5
+SEMAOP_UNSEMA = 6
+SEMAOP_INIT = 7
+SEMAOP_FREE = 8
+SSOP_PHIT = 1
+SSOP_PSLP = 2
+SSOP_PWAKE = 6
+SSOP_PRESIG = 7
+SSOP_POSTSIG = 8
+SSOP_VNOWAKE = 3
+SSOP_VWAKE = 4
+SSOP_CPHIT = 1
+SSOP_CPMISS = 5
+SSOP_CVNOWAKE = 3
+SSOP_CVWAKE = 4
+SSOP_WMISS = 5
+SSOP_WWAKE = 4
+SSOP_RMV = 9
+TZERO = 10
+SEMA_NOP = 0
+SEMA_WAKE = 1
+SEMA_VSEMA = 2
+SEMA_SPINOP = 3
+MR_ACCESS = 0x1
+MR_UPDATE = 0x2
+def cv_signal(cv): return cvsema(cv);
+
+def cv_destroy(cv): return freesema(cv)
+
+def mutex_enter(m): return psema(m, PZERO | PNOSTOP)
+
+def mutex_exit(m): return vsema(m)
+
+def mutex_destroy(m): return freesema(m)
+
+def MUTEX_HELD(m): return (ownsema(m))
+
+def MUTEX_HELD(m): return (1)
+
+RW_READER = MR_ACCESS
+RW_WRITER = MR_UPDATE
+def rw_exit(r): return mrunlock(r)
+
+def rw_tryupgrade(r): return cmrpromote(r)
+
+def rw_downgrade(r): return mrdemote(r)
+
+def rw_destroy(r): return mrfree(r)
+
+def RW_WRITE_HELD(r): return ismrlocked(r, MR_UPDATE)
+
+def RW_READ_HELD(r): return ismrlocked(r, MR_ACCESS)
+
+
+# Included from sys/splock.h
+SPLOCKNAMSIZ = 8
+SPLOCK_NONE = 0
+SPLOCK_SOFT = 1
+SPLOCK_HARD = 2
+OWNER_NONE = -1
+MAP_LOCKID = 0
+SPLOCK_MAX = (96*1024)
+SPLOCK_MAX = 32768
+MIN_POOL_SIZE = 256
+MAX_POOL_SIZE = 16384
+DEF_SEMA_POOL = 8192
+DEF_VNODE_POOL = 1024
+DEF_FILE_POOL = 1024
+def ownlock(x): return 1
+
+def splock(x): return 1
+
+def io_splock(x): return 1
+
+def apvsema(x): return vsema(x)
+
+def apcpsema(x): return cpsema(x)
+
+def apcvsema(x): return cvsema(x)
+
+def mp_mrunlock(a): return mrunlock(a)
+
+def apvsema(x): return 0
+
+def apcpsema(x): return 1
+
+def apcvsema(x): return 0
+
+def mp_mrunlock(a): return 0
+
+
+# Included from sys/fcntl.h
+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
+FMASK = 0x90FF
+FOPEN = 0xFFFFFFFF
+FREAD = 0x01
+FWRITE = 0x02
+FNDELAY = 0x04
+FAPPEND = 0x08
+FSYNC = 0x10
+FNONBLOCK = 0x80
+FASYNC = 0x1000
+FNONBLK = FNONBLOCK
+FDIRECT = 0x8000
+FCREAT = 0x0100
+FTRUNC = 0x0200
+FEXCL = 0x0400
+FNOCTTY = 0x0800
+IRIX4_FASYNC = 0x40
+FMARK = 0x4000
+FDEFER = 0x2000
+FINPROGRESS = 0x0400
+FINVIS = 0x0100
+FNMFS = 0x2000
+FCLOSEXEC = 001
+FDSHD = 0x0001
+FDNOMARK = 0x0002
+FDIGNPROGRESS = 0x0004
+LOCK_SH = 1
+LOCK_EX = 2
+LOCK_NB = 4
+LOCK_UN = 8
+F_OK = 0
+X_OK = 1
+W_OK = 2
+R_OK = 4
+L_SET = 0
+L_INCR = 1
+L_XTND = 2
diff --git a/Lib/plat-irix5/IN.py b/Lib/plat-irix5/IN.py
index 325a021..2d67892 100755
--- a/Lib/plat-irix5/IN.py
+++ b/Lib/plat-irix5/IN.py
@@ -1,8 +1,51 @@
 # Generated by h2py from /usr/include/netinet/in.h
+
+# Included from sys/endian.h
+LITTLE_ENDIAN = 1234
+BIG_ENDIAN = 4321
+PDP_ENDIAN = 3412
+BYTE_ORDER = BIG_ENDIAN
+BYTE_ORDER = LITTLE_ENDIAN
+def ntohl(x): return (x)
+
+def ntohs(x): return (x)
+
+def htonl(x): return (x)
+
+def htons(x): return (x)
+
+def htonl(x): return ntohl(x)
+
+def htons(x): return ntohs(x)
+
+
+# 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
 IPPROTO_IP = 0
 IPPROTO_ICMP = 1
 IPPROTO_IGMP = 2
 IPPROTO_GGP = 3
+IPPROTO_ENCAP = 4
 IPPROTO_TCP = 6
 IPPROTO_EGP = 8
 IPPROTO_PUP = 12
@@ -17,20 +60,35 @@
 IPPROTO_MAX = 256
 IPPORT_RESERVED = 1024
 IPPORT_USERRESERVED = 5000
+IPPORT_MAXPORT = 65535
+def IN_CLASSA(i): return (((long)(i) & 0x80000000) == 0)
+
 IN_CLASSA_NET = 0xff000000
 IN_CLASSA_NSHIFT = 24
 IN_CLASSA_HOST = 0x00ffffff
 IN_CLASSA_MAX = 128
+def IN_CLASSB(i): return (((long)(i) & 0xc0000000) == 0x80000000)
+
 IN_CLASSB_NET = 0xffff0000
 IN_CLASSB_NSHIFT = 16
 IN_CLASSB_HOST = 0x0000ffff
 IN_CLASSB_MAX = 65536
+def IN_CLASSC(i): return (((long)(i) & 0xe0000000) == 0xc0000000)
+
 IN_CLASSC_NET = 0xffffff00
 IN_CLASSC_NSHIFT = 8
 IN_CLASSC_HOST = 0x000000ff
+def IN_CLASSD(i): return (((long)(i) & 0xf0000000) == 0xe0000000)
+
 IN_CLASSD_NET = 0xf0000000
 IN_CLASSD_NSHIFT = 28
 IN_CLASSD_HOST = 0x0fffffff
+def IN_MULTICAST(i): return IN_CLASSD(i)
+
+def IN_EXPERIMENTAL(i): return (((long)(i) & 0xf0000000) == 0xf0000000)
+
+def IN_BADCLASS(i): return (((long)(i) & 0xf0000000) == 0xf0000000)
+
 INADDR_ANY = 0x00000000
 INADDR_BROADCAST = 0xffffffff
 INADDR_LOOPBACK = 0x7F000001
diff --git a/Lib/plat-irix5/SOCKET.py b/Lib/plat-irix5/SOCKET.py
index 0ba0742..401de2b 100755
--- a/Lib/plat-irix5/SOCKET.py
+++ b/Lib/plat-irix5/SOCKET.py
@@ -1,4 +1,27 @@
 # Generated by h2py from /usr/include/sys/socket.h
+
+# 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
 SOCK_STREAM = 1
 SOCK_DGRAM = 2
 SOCK_RAW = 3
@@ -70,6 +93,8 @@
 AF_GOSIP = 22
 AF_SDL = 23
 AF_MAX = (AF_SDL+1)
+def OPTLEN(x): return ((((x) + sizeof(long) - 1) / sizeof(long)) * sizeof(long))
+
 PF_UNSPEC = AF_UNSPEC
 PF_UNIX = AF_UNIX
 PF_INET = AF_INET
diff --git a/Lib/plat-irix5/TERMIOS.py b/Lib/plat-irix5/TERMIOS.py
index a360786..2ac7487 100755
--- a/Lib/plat-irix5/TERMIOS.py
+++ b/Lib/plat-irix5/TERMIOS.py
@@ -1,6 +1,4 @@
-# Generated by h2py from /usr/include/termios.h
-
-# Included from sys/termios.h
+# Generated by h2py from /usr/include/sys/termios.h
 
 # Included from sys/ttydev.h
 B0 = 0
@@ -30,7 +28,8 @@
 _MIPS_ISA_MIPS3 = 3
 _MIPS_ISA_MIPS4 = 4
 _MIPS_SIM_ABI32 = 1
-_MIPS_SIM_ABI64 = 2
+_MIPS_SIM_NABI32 = 2
+_MIPS_SIM_ABI64 = 3
 P_MYID = (-1)
 P_MYHOSTID = (-1)
 
@@ -43,7 +42,7 @@
 OMAXMIN = 0xff
 NBITSMAJOR = 14
 NBITSMINOR = 18
-MAXMAJ = 0xff
+MAXMAJ = 0x1ff
 MAXMIN = 0x3ffff
 OLDDEV = 0
 NEWDEV = 1
@@ -222,6 +221,244 @@
 # Included from net/soioctl.h
 
 # Included from sys/termio.h
+
+# Included from sys/termios.h
+_POSIX_VDISABLE = 0
+def CTRL(c): return ((c)&037)
+
+IBSHIFT = 16
+NCC = 8
+NCCS = 23
+VINTR = 0
+VQUIT = 1
+VERASE = 2
+VKILL = 3
+VEOF = 4
+VEOL = 5
+VEOL2 = 6
+VMIN = 4
+VTIME = 5
+VSWTCH = 7
+VSTART = 8
+VSTOP = 9
+VSUSP = 10
+VDSUSP = 11
+VREPRINT = 12
+VDISCARD = 13
+VWERASE = 14
+VLNEXT = 15
+VRPRNT = VREPRINT
+VFLUSHO = VDISCARD
+VCEOF = NCC
+VCEOL = (NCC + 1)
+CNUL = 0
+CDEL = 0377
+CESC = ord('\\')
+CINTR = 0177
+CQUIT = 034
+CERASE = CTRL(ord('H'))
+CKILL = CTRL(ord('U'))
+CEOL = 0
+CEOL2 = 0
+CEOF = CTRL(ord('d'))
+CEOT = CEOF
+CSTART = CTRL(ord('q'))
+CSTOP = CTRL(ord('s'))
+CSWTCH = CTRL(ord('z'))
+CNSWTCH = 0
+CSUSP = CSWTCH
+CLNEXT = CTRL(ord('v'))
+CWERASE = CTRL(ord('w'))
+CFLUSHO = CTRL(ord('o'))
+CFLUSH = CFLUSHO
+CRPRNT = CTRL(ord('r'))
+CDSUSP = CTRL(ord('y'))
+CBRK = 0377
+IGNBRK = 0000001
+BRKINT = 0000002
+IGNPAR = 0000004
+PARMRK = 0000010
+INPCK = 0000020
+ISTRIP = 0000040
+INLCR = 0000100
+IGNCR = 0000200
+ICRNL = 0000400
+IUCLC = 0001000
+IXON = 0002000
+IXANY = 0004000
+IXOFF = 0010000
+IMAXBEL = 0020000
+IBLKMD = 0040000
+OPOST = 0000001
+OLCUC = 0000002
+ONLCR = 0000004
+OCRNL = 0000010
+ONOCR = 0000020
+ONLRET = 0000040
+OFILL = 0000100
+OFDEL = 0000200
+NLDLY = 0000400
+NL0 = 0
+NL1 = 0000400
+CRDLY = 0003000
+CR0 = 0
+CR1 = 0001000
+CR2 = 0002000
+CR3 = 0003000
+TABDLY = 0014000
+TAB0 = 0
+TAB1 = 0004000
+TAB2 = 0010000
+TAB3 = 0014000
+XTABS = 0014000
+BSDLY = 0020000
+BS0 = 0
+BS1 = 0020000
+VTDLY = 0040000
+VT0 = 0
+VT1 = 0040000
+FFDLY = 0100000
+FF0 = 0
+FF1 = 0100000
+PAGEOUT = 0200000
+WRAP = 0400000
+CBAUD = 000000017
+CSIZE = 000000060
+CS5 = 0
+CS6 = 000000020
+CS7 = 000000040
+CS8 = 000000060
+CSTOPB = 000000100
+CREAD = 000000200
+PARENB = 000000400
+PARODD = 000001000
+HUPCL = 000002000
+CLOCAL = 000004000
+RCV1EN = 000010000
+XMT1EN = 000020000
+LOBLK = 000040000
+XCLUDE = 000100000
+CIBAUD = 003600000
+PAREXT = 004000000
+CNEW_RTSCTS = 010000000
+ISIG = 0000001
+ICANON = 0000002
+XCASE = 0000004
+ECHO = 0000010
+ECHOE = 0000020
+ECHOK = 0000040
+ECHONL = 0000100
+NOFLSH = 0000200
+IEXTEN = 0000400
+ITOSTOP = 0100000
+TOSTOP = ITOSTOP
+ECHOCTL = 0001000
+ECHOPRT = 0002000
+ECHOKE = 0004000
+DEFECHO = 0010000
+FLUSHO = 0020000
+PENDIN = 0040000
+TIOC = (ord('T')<<8)
+TCGETA = (TIOC|1)
+TCSETA = (TIOC|2)
+TCSETAW = (TIOC|3)
+TCSETAF = (TIOC|4)
+TCSBRK = (TIOC|5)
+TCXONC = (TIOC|6)
+TCFLSH = (TIOC|7)
+LDISC0 = 0
+LDISC1 = 1
+NTTYDISC = LDISC1
+TIOCFLUSH = (TIOC|12)
+TCSETLABEL = (TIOC|31)
+TCDSET = (TIOC|32)
+TCBLKMD = (TIOC|33)
+TIOCPKT = (TIOC|112)
+TIOCPKT_DATA = 0x00
+TIOCPKT_FLUSHREAD = 0x01
+TIOCPKT_FLUSHWRITE = 0x02
+TIOCPKT_NOSTOP = 0x10
+TIOCPKT_DOSTOP = 0x20
+TIOCPKT_IOCTL = 0x40
+TIOCNOTTY = (TIOC|113)
+TIOCSTI = (TIOC|114)
+TFIOC = (ord('F')<<8)
+oFIONREAD = (TFIOC|127)
+TO_STOP = LOBLK
+IOCTYPE = 0xff00
+TCGETS = (TIOC|13)
+TCSETS = (TIOC|14)
+TCSETSW = (TIOC|15)
+TCSETSF = (TIOC|16)
+TCSANOW = ((ord('T')<<8)|14)
+TCSADRAIN = ((ord('T')<<8)|15)
+TCSAFLUSH = ((ord('T')<<8)|16)
+TCIFLUSH = 0
+TCOFLUSH = 1
+TCIOFLUSH = 2
+TCOOFF = 0
+TCOON = 1
+TCIOFF = 2
+TCION = 3
+tIOC = (ord('t')<<8)
+TIOCGETD = (tIOC|0)
+TIOCSETD = (tIOC|1)
+TIOCHPCL = (tIOC|2)
+TIOCGETP = (tIOC|8)
+TIOCSETP = (tIOC|9)
+TIOCSETN = (tIOC|10)
+TIOCEXCL = (tIOC|13)
+TIOCNXCL = (tIOC|14)
+TIOCSETC = (tIOC|17)
+TIOCGETC = (tIOC|18)
+TIOCLBIS = (tIOC|127)
+TIOCLBIC = (tIOC|126)
+TIOCLSET = (tIOC|125)
+TIOCLGET = (tIOC|124)
+TIOCSBRK = (tIOC|123)
+TIOCCBRK = (tIOC|122)
+TIOCSDTR = (tIOC|121)
+TIOCCDTR = (tIOC|120)
+TIOCSLTC = (tIOC|117)
+TIOCGLTC = (tIOC|116)
+TIOCOUTQ = (tIOC|115)
+TIOCSTOP = (tIOC|111)
+TIOCSTART = (tIOC|110)
+TIOCGSID = (tIOC|22)
+TIOCSSID = (tIOC|24)
+TIOCMSET = (tIOC|26)
+TIOCMBIS = (tIOC|27)
+TIOCMBIC = (tIOC|28)
+TIOCMGET = (tIOC|29)
+TIOCM_LE = 0001
+TIOCM_DTR = 0002
+TIOCM_RTS = 0004
+TIOCM_ST = 0010
+TIOCM_SR = 0020
+TIOCM_CTS = 0040
+TIOCM_CAR = 0100
+TIOCM_CD = TIOCM_CAR
+TIOCM_RNG = 0200
+TIOCM_RI = TIOCM_RNG
+TIOCM_DSR = 0400
+TIOCREMOTE = (tIOC|30)
+TIOCSIGNAL = (tIOC|31)
+ISPTM = ((ord('P')<<8)|1)
+UNLKPT = ((ord('P')<<8)|2)
+SVR4SOPEN = ((ord('P')<<8)|100)
+LDIOC = (ord('D')<<8)
+LDOPEN = (LDIOC|0)
+LDCLOSE = (LDIOC|1)
+LDCHG = (LDIOC|2)
+LDGETT = (LDIOC|8)
+LDSETT = (LDIOC|9)
+LDSMAP = (LDIOC|10)
+LDGMAP = (LDIOC|11)
+LDNMAP = (LDIOC|12)
+DIOC = (ord('d')<<8)
+DIOCGETP = (DIOC|8)
+DIOCSETP = (DIOC|9)
+FIORDCHK = ((ord('f')<<8)|3)
 CLNEXT = CTRL(ord('v'))
 CWERASE = CTRL(ord('w'))
 CFLUSHO = CTRL(ord('o'))
@@ -248,7 +485,7 @@
 LDISC1 = 1
 NTTYDISC = LDISC1
 TIOCFLUSH = (TIOC|12)
-TCSETLABEL = (TIOC|13)
+TCSETLABEL = (TIOC|31)
 TCDSET = (TIOC|32)
 TCBLKMD = (TIOC|33)
 TIOCPKT = (TIOC|112)
diff --git a/Lib/plat-irix5/regen b/Lib/plat-irix5/regen
index 13f9d74..4c4ea5c 100755
--- a/Lib/plat-irix5/regen
+++ b/Lib/plat-irix5/regen
@@ -6,6 +6,7 @@
 esac
 set -v
 h2py /usr/include/sys/fcntl.h
+h2py /usr/include/sys/file.h
 h2py /usr/include/sys/socket.h
 h2py -i '(u_long)' /usr/include/netinet/in.h
 h2py /usr/include/sys/termios.h