230400 460800 921600
} member? [ invalid-baud ] unless ;
-: TCSANOW 0 ; inline
-: TCSADRAIN 1 ; inline
-: TCSAFLUSH 2 ; inline
-: TCSASOFT HEX: 10 ; inline
+CONSTANT: TCSANOW 0
+CONSTANT: TCSADRAIN 1
+CONSTANT: TCSAFLUSH 2
+CONSTANT: TCSASOFT HEX: 10
-: TCIFLUSH 1 ; inline
-: TCOFLUSH 2 ; inline
-: TCIOFLUSH 3 ; inline
-: TCOOFF 1 ; inline
-: TCOON 2 ; inline
-: TCIOFF 3 ; inline
-: TCION 4 ; inline
+CONSTANT: TCIFLUSH 1
+CONSTANT: TCOFLUSH 2
+CONSTANT: TCIOFLUSH 3
+CONSTANT: TCOOFF 1
+CONSTANT: TCOON 2
+CONSTANT: TCIOFF 3
+CONSTANT: TCION 4
! iflags
-: IGNBRK HEX: 00000001 ; inline
-: BRKINT HEX: 00000002 ; inline
-: IGNPAR HEX: 00000004 ; inline
-: PARMRK HEX: 00000008 ; inline
-: INPCK HEX: 00000010 ; inline
-: ISTRIP HEX: 00000020 ; inline
-: INLCR HEX: 00000040 ; inline
-: IGNCR HEX: 00000080 ; inline
-: ICRNL HEX: 00000100 ; inline
-: IXON HEX: 00000200 ; inline
-: IXOFF HEX: 00000400 ; inline
-: IXANY HEX: 00000800 ; inline
-: IMAXBEL HEX: 00002000 ; inline
-: IUTF8 HEX: 00004000 ; inline
+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
-: OPOST HEX: 00000001 ; inline
-: ONLCR HEX: 00000002 ; inline
-: OXTABS HEX: 00000004 ; inline
-: ONOEOT HEX: 00000008 ; inline
+CONSTANT: OPOST HEX: 00000001
+CONSTANT: ONLCR HEX: 00000002
+CONSTANT: OXTABS HEX: 00000004
+CONSTANT: ONOEOT HEX: 00000008
! cflags
-: CIGNORE HEX: 00000001 ; inline
-: CSIZE HEX: 00000300 ; inline
-: CS5 HEX: 00000000 ; inline
-: CS6 HEX: 00000100 ; inline
-: CS7 HEX: 00000200 ; inline
-: CS8 HEX: 00000300 ; inline
-: CSTOPB HEX: 00000400 ; inline
-: CREAD HEX: 00000800 ; inline
-: PARENB HEX: 00001000 ; inline
-: PARODD HEX: 00002000 ; inline
-: HUPCL HEX: 00004000 ; inline
-: CLOCAL HEX: 00008000 ; inline
-: CCTS_OFLOW HEX: 00010000 ; inline
-: CRTS_IFLOW HEX: 00020000 ; inline
-: CRTSCTS { CCTS_OFLOW CRTS_IFLOW } flags ; inline
-: CDTR_IFLOW HEX: 00040000 ; inline
-: CDSR_OFLOW HEX: 00080000 ; inline
-: CCAR_OFLOW HEX: 00100000 ; inline
-: MDMBUF HEX: 00100000 ; inline
+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
-: ECHOKE HEX: 00000001 ; inline
-: ECHOE HEX: 00000002 ; inline
-: ECHOK HEX: 00000004 ; inline
-: ECHO HEX: 00000008 ; inline
-: ECHONL HEX: 00000010 ; inline
-: ECHOPRT HEX: 00000020 ; inline
-: ECHOCTL HEX: 00000040 ; inline
-: ISIG HEX: 00000080 ; inline
-: ICANON HEX: 00000100 ; inline
-: ALTWERASE HEX: 00000200 ; inline
-: IEXTEN HEX: 00000400 ; inline
-: EXTPROC HEX: 00000800 ; inline
-: TOSTOP HEX: 00400000 ; inline
-: FLUSHO HEX: 00800000 ; inline
-: NOKERNINFO HEX: 02000000 ; inline
-: PENDIN HEX: 20000000 ; inline
-: NOFLSH HEX: 80000000 ; inline
+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
USING: assocs alien.syntax kernel serial system unix ;
IN: serial.unix
-: TCSANOW 0 ; inline
-: TCSADRAIN 1 ; inline
-: TCSAFLUSH 2 ; inline
+CONSTANT: TCSANOW 0
+CONSTANT: TCSADRAIN 1
+CONSTANT: TCSAFLUSH 2
-: TCIFLUSH 0 ; inline
-: TCOFLUSH 1 ; inline
-: TCIOFLUSH 2 ; inline
+CONSTANT: TCIFLUSH 0
+CONSTANT: TCOFLUSH 1
+CONSTANT: TCIOFLUSH 2
-: TCOOFF 0 ; inline
-: TCOON 1 ; inline
-: TCIOFF 2 ; inline
-: TCION 3 ; inline
+CONSTANT: TCOOFF 0
+CONSTANT: TCOON 1
+CONSTANT: TCIOFF 2
+CONSTANT: TCION 3
! iflag
-: IGNBRK OCT: 0000001 ; inline
-: BRKINT OCT: 0000002 ; inline
-: IGNPAR OCT: 0000004 ; inline
-: PARMRK OCT: 0000010 ; inline
-: INPCK OCT: 0000020 ; inline
-: ISTRIP OCT: 0000040 ; inline
-: INLCR OCT: 0000100 ; inline
-: IGNCR OCT: 0000200 ; inline
-: ICRNL OCT: 0000400 ; inline
-: IUCLC OCT: 0001000 ; inline
-: IXON OCT: 0002000 ; inline
-: IXANY OCT: 0004000 ; inline
-: IXOFF OCT: 0010000 ; inline
-: IMAXBEL OCT: 0020000 ; inline
-: IUTF8 OCT: 0040000 ; inline
+CONSTANT: IGNBRK OCT: 0000001
+CONSTANT: BRKINT OCT: 0000002
+CONSTANT: IGNPAR OCT: 0000004
+CONSTANT: PARMRK OCT: 0000010
+CONSTANT: INPCK OCT: 0000020
+CONSTANT: ISTRIP OCT: 0000040
+CONSTANT: INLCR OCT: 0000100
+CONSTANT: IGNCR OCT: 0000200
+CONSTANT: ICRNL OCT: 0000400
+CONSTANT: IUCLC OCT: 0001000
+CONSTANT: IXON OCT: 0002000
+CONSTANT: IXANY OCT: 0004000
+CONSTANT: IXOFF OCT: 0010000
+CONSTANT: IMAXBEL OCT: 0020000
+CONSTANT: IUTF8 OCT: 0040000
! oflag
-: OPOST OCT: 0000001 ; inline
-: OLCUC OCT: 0000002 ; inline
-: ONLCR OCT: 0000004 ; inline
-: OCRNL OCT: 0000010 ; inline
-: ONOCR OCT: 0000020 ; inline
-: ONLRET OCT: 0000040 ; inline
-: OFILL OCT: 0000100 ; inline
-: OFDEL OCT: 0000200 ; inline
-: NLDLY OCT: 0000400 ; inline
-: NL0 OCT: 0000000 ; inline
-: NL1 OCT: 0000400 ; inline
-: CRDLY OCT: 0003000 ; inline
-: CR0 OCT: 0000000 ; inline
-: CR1 OCT: 0001000 ; inline
-: CR2 OCT: 0002000 ; inline
-: CR3 OCT: 0003000 ; inline
-: TABDLY OCT: 0014000 ; inline
-: TAB0 OCT: 0000000 ; inline
-: TAB1 OCT: 0004000 ; inline
-: TAB2 OCT: 0010000 ; inline
-: TAB3 OCT: 0014000 ; inline
-: BSDLY OCT: 0020000 ; inline
-: BS0 OCT: 0000000 ; inline
-: BS1 OCT: 0020000 ; inline
-: FFDLY OCT: 0100000 ; inline
-: FF0 OCT: 0000000 ; inline
-: FF1 OCT: 0100000 ; inline
+CONSTANT: OPOST OCT: 0000001
+CONSTANT: OLCUC OCT: 0000002
+CONSTANT: ONLCR OCT: 0000004
+CONSTANT: OCRNL OCT: 0000010
+CONSTANT: ONOCR OCT: 0000020
+CONSTANT: ONLRET OCT: 0000040
+CONSTANT: OFILL OCT: 0000100
+CONSTANT: OFDEL OCT: 0000200
+CONSTANT: NLDLY OCT: 0000400
+CONSTANT: NL0 OCT: 0000000
+CONSTANT: NL1 OCT: 0000400
+CONSTANT: CRDLY OCT: 0003000
+CONSTANT: CR0 OCT: 0000000
+CONSTANT: CR1 OCT: 0001000
+CONSTANT: CR2 OCT: 0002000
+CONSTANT: CR3 OCT: 0003000
+CONSTANT: TABDLY OCT: 0014000
+CONSTANT: TAB0 OCT: 0000000
+CONSTANT: TAB1 OCT: 0004000
+CONSTANT: TAB2 OCT: 0010000
+CONSTANT: TAB3 OCT: 0014000
+CONSTANT: BSDLY OCT: 0020000
+CONSTANT: BS0 OCT: 0000000
+CONSTANT: BS1 OCT: 0020000
+CONSTANT: FFDLY OCT: 0100000
+CONSTANT: FF0 OCT: 0000000
+CONSTANT: FF1 OCT: 0100000
! cflags
-: CSIZE OCT: 0000060 ; inline
-: CS5 OCT: 0000000 ; inline
-: CS6 OCT: 0000020 ; inline
-: CS7 OCT: 0000040 ; inline
-: CS8 OCT: 0000060 ; inline
-: CSTOPB OCT: 0000100 ; inline
-: CREAD OCT: 0000200 ; inline
-: PARENB OCT: 0000400 ; inline
-: PARODD OCT: 0001000 ; inline
-: HUPCL OCT: 0002000 ; inline
-: CLOCAL OCT: 0004000 ; inline
-: CIBAUD OCT: 002003600000 ; inline
-: CRTSCTS OCT: 020000000000 ; inline
+CONSTANT: CSIZE OCT: 0000060
+CONSTANT: CS5 OCT: 0000000
+CONSTANT: CS6 OCT: 0000020
+CONSTANT: CS7 OCT: 0000040
+CONSTANT: CS8 OCT: 0000060
+CONSTANT: CSTOPB OCT: 0000100
+CONSTANT: CREAD OCT: 0000200
+CONSTANT: PARENB OCT: 0000400
+CONSTANT: PARODD OCT: 0001000
+CONSTANT: HUPCL OCT: 0002000
+CONSTANT: CLOCAL OCT: 0004000
+CONSTANT: CIBAUD OCT: 002003600000
+CONSTANT: CRTSCTS OCT: 020000000000
! lflags
-: ISIG OCT: 0000001 ; inline
-: ICANON OCT: 0000002 ; inline
-: XCASE OCT: 0000004 ; inline
-: ECHO OCT: 0000010 ; inline
-: ECHOE OCT: 0000020 ; inline
-: ECHOK OCT: 0000040 ; inline
-: ECHONL OCT: 0000100 ; inline
-: NOFLSH OCT: 0000200 ; inline
-: TOSTOP OCT: 0000400 ; inline
-: ECHOCTL OCT: 0001000 ; inline
-: ECHOPRT OCT: 0002000 ; inline
-: ECHOKE OCT: 0004000 ; inline
-: FLUSHO OCT: 0010000 ; inline
-: PENDIN OCT: 0040000 ; inline
-: IEXTEN OCT: 0100000 ; inline
+CONSTANT: ISIG OCT: 0000001
+CONSTANT: ICANON OCT: 0000002
+CONSTANT: XCASE OCT: 0000004
+CONSTANT: ECHO OCT: 0000010
+CONSTANT: ECHOE OCT: 0000020
+CONSTANT: ECHOK OCT: 0000040
+CONSTANT: ECHONL OCT: 0000100
+CONSTANT: NOFLSH OCT: 0000200
+CONSTANT: TOSTOP OCT: 0000400
+CONSTANT: ECHOCTL OCT: 0001000
+CONSTANT: ECHOPRT OCT: 0002000
+CONSTANT: ECHOKE OCT: 0004000
+CONSTANT: FLUSHO OCT: 0010000
+CONSTANT: PENDIN OCT: 0040000
+CONSTANT: IEXTEN OCT: 0100000
M: linux lookup-baud ( n -- n )
dup H{
{ 3000000 OCT: 0010015 }
{ 3500000 OCT: 0010016 }
{ 4000000 OCT: 0010017 }
- } at* [ nip ] [ drop invalid-baud ] if ;
+ } ?at [ invalid-baud ] unless ;