# Generated by h2py from /usr/include/termios.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)

NCCS = 16
TCSANOW = 0
TCSADRAIN = 1
TCSAFLUSH = 2
TCIFLUSH = 0
TCOFLUSH = 1
TCIOFLUSH = 2
TCOOFF = 0
TCOON = 1
TCIOFF = 2
TCION = 3
VINTR = 0
VQUIT = 1
VERASE = 2
VKILL = 3
VEOF = 4
VEOL = 5
VSTART = 7
VSTOP = 8
VSUSP = 9
VMIN = 4
VTIME = 5
VEOL2 = 6
VDSUSP = 10
VREPRINT = 11
VDISCRD = 12
VWERSE = 13
VLNEXT = 14
VSTRT = VSTART
B0 = 0x00000000
B50 = 0x00000001
B75 = 0x00000002
B110 = 0x00000003
B134 = 0x00000004
B150 = 0x00000005
B200 = 0x00000006
B300 = 0x00000007
B600 = 0x00000008
B1200 = 0x00000009
B1800 = 0x0000000a
B2400 = 0x0000000b
B4800 = 0x0000000c
B9600 = 0x0000000d
B19200 = 0x0000000e
B38400 = 0x0000000f
EXTA = B19200
EXTB = B38400
IGNBRK = 0x00000001
BRKINT = 0x00000002
IGNPAR = 0x00000004
PARMRK = 0x00000008
INPCK = 0x00000010
ISTRIP = 0x00000020
INLCR = 0x00000040
IGNCR = 0x00000080
ICRNL = 0x00000100
IXON = 0x00000200
IXOFF = 0x00000400
IUCLC = 0x00000800
IXANY = 0x00001000
IMAXBEL = 0x00010000
OPOST = 0x00000001
OLCUC = 0x00000002
ONLCR = 0x00000004
OCRNL = 0x00000008
ONOCR = 0x00000010
ONLRET = 0x00000020
OFILL = 0x00000040
OFDEL = 0x00000080
CRDLY = 0x00000300
CR0 = 0x00000000
CR1 = 0x00000100
CR2 = 0x00000200
CR3 = 0x00000300
TABDLY = 0x00000c00
TAB0 = 0x00000000
TAB1 = 0x00000400
TAB2 = 0x00000800
TAB3 = 0x00000c00
BSDLY = 0x00001000
BS0 = 0x00000000
BS1 = 0x00001000
FFDLY = 0x00002000
FF0 = 0x00000000
FF1 = 0x00002000
NLDLY = 0x00004000
NL0 = 0x00000000
NL1 = 0x00004000
VTDLY = 0x00008000
VT0 = 0x00000000
VT1 = 0x00008000
DLY_MASK = (NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY)
_CBAUD = 0x0000000f
CSIZE = 0x00000030
CS5 = 0x00000000
CS6 = 0x00000010
CS7 = 0x00000020
CS8 = 0x00000030
CSTOPB = 0x00000040
CREAD = 0x00000080
PARENB = 0x00000100
PARODD = 0x00000200
HUPCL = 0x00000400
CLOCAL = 0x00000800
_CIBAUD = 0x000f0000
_IBSHIFT = 16
CIBAUD = _CIBAUD
IBSHIFT = _IBSHIFT
PAREXT = 0x00100000
ISIG = 0x00000001
ICANON = 0x00000002
XCASE = 0x00000004
ECHO = 0x00000008
ECHOE = 0x00000010
ECHOK = 0x00000020
ECHONL = 0x00000040
NOFLSH = 0x00000080
TOSTOP = 0x00010000
ECHOCTL = 0x00020000
ECHOPRT = 0x00040000
ECHOKE = 0x00080000
FLUSHO = 0x00100000
PENDIN = 0x20000000
IEXTEN = 0x00200000
