87 lines
2.6 KiB
Factor
87 lines
2.6 KiB
Factor
! Copyright (C) 2008 Doug Coleman.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: alien.syntax kernel math.bitwise sequences system io.serial ;
|
|
IN: io.serial.unix
|
|
|
|
M: bsd lookup-baud ( m -- n )
|
|
dup {
|
|
0 50 75 110 134 150 200 300 600 1200 1800 2400 4800
|
|
7200 9600 14400 19200 28800 38400 57600 76800 115200
|
|
230400 460800 921600
|
|
} member? [ invalid-baud ] unless ;
|
|
|
|
CONSTANT: TCSANOW 0
|
|
CONSTANT: TCSADRAIN 1
|
|
CONSTANT: TCSAFLUSH 2
|
|
CONSTANT: TCSASOFT HEX: 10
|
|
|
|
CONSTANT: TCIFLUSH 1
|
|
CONSTANT: TCOFLUSH 2
|
|
CONSTANT: TCIOFLUSH 3
|
|
CONSTANT: TCOOFF 1
|
|
CONSTANT: TCOON 2
|
|
CONSTANT: TCIOFF 3
|
|
CONSTANT: TCION 4
|
|
|
|
! iflags
|
|
CONSTANT: IGNBRK HEX: 00000001
|
|
CONSTANT: BRKINT HEX: 00000002
|
|
CONSTANT: IGNPAR HEX: 00000004
|
|
CONSTANT: PARMRK HEX: 00000008
|
|
CONSTANT: INPCK HEX: 00000010
|
|
CONSTANT: ISTRIP HEX: 00000020
|
|
CONSTANT: INLCR HEX: 00000040
|
|
CONSTANT: IGNCR HEX: 00000080
|
|
CONSTANT: ICRNL HEX: 00000100
|
|
CONSTANT: IXON HEX: 00000200
|
|
CONSTANT: IXOFF HEX: 00000400
|
|
CONSTANT: IXANY HEX: 00000800
|
|
CONSTANT: IMAXBEL HEX: 00002000
|
|
CONSTANT: IUTF8 HEX: 00004000
|
|
|
|
! oflags
|
|
CONSTANT: OPOST HEX: 00000001
|
|
CONSTANT: ONLCR HEX: 00000002
|
|
CONSTANT: OXTABS HEX: 00000004
|
|
CONSTANT: ONOEOT HEX: 00000008
|
|
|
|
! cflags
|
|
CONSTANT: CIGNORE HEX: 00000001
|
|
CONSTANT: CSIZE HEX: 00000300
|
|
CONSTANT: CS5 HEX: 00000000
|
|
CONSTANT: CS6 HEX: 00000100
|
|
CONSTANT: CS7 HEX: 00000200
|
|
CONSTANT: CS8 HEX: 00000300
|
|
CONSTANT: CSTOPB HEX: 00000400
|
|
CONSTANT: CREAD HEX: 00000800
|
|
CONSTANT: PARENB HEX: 00001000
|
|
CONSTANT: PARODD HEX: 00002000
|
|
CONSTANT: HUPCL HEX: 00004000
|
|
CONSTANT: CLOCAL HEX: 00008000
|
|
CONSTANT: CCTS_OFLOW HEX: 00010000
|
|
CONSTANT: CRTS_IFLOW HEX: 00020000
|
|
: CRTSCTS ( -- n ) { CCTS_OFLOW CRTS_IFLOW } flags ; inline
|
|
CONSTANT: CDTR_IFLOW HEX: 00040000
|
|
CONSTANT: CDSR_OFLOW HEX: 00080000
|
|
CONSTANT: CCAR_OFLOW HEX: 00100000
|
|
CONSTANT: MDMBUF HEX: 00100000
|
|
|
|
! lflags
|
|
CONSTANT: ECHOKE HEX: 00000001
|
|
CONSTANT: ECHOE HEX: 00000002
|
|
CONSTANT: ECHOK HEX: 00000004
|
|
CONSTANT: ECHO HEX: 00000008
|
|
CONSTANT: ECHONL HEX: 00000010
|
|
CONSTANT: ECHOPRT HEX: 00000020
|
|
CONSTANT: ECHOCTL HEX: 00000040
|
|
CONSTANT: ISIG HEX: 00000080
|
|
CONSTANT: ICANON HEX: 00000100
|
|
CONSTANT: ALTWERASE HEX: 00000200
|
|
CONSTANT: IEXTEN HEX: 00000400
|
|
CONSTANT: EXTPROC HEX: 00000800
|
|
CONSTANT: TOSTOP HEX: 00400000
|
|
CONSTANT: FLUSHO HEX: 00800000
|
|
CONSTANT: NOKERNINFO HEX: 02000000
|
|
CONSTANT: PENDIN HEX: 20000000
|
|
CONSTANT: NOFLSH HEX: 80000000
|