diff --git a/extra/io/serial/serial.factor b/extra/io/serial/serial.factor index 117ae7f80b..c24f08906c 100644 --- a/extra/io/serial/serial.factor +++ b/extra/io/serial/serial.factor @@ -15,9 +15,8 @@ M: invalid-baud summary ( invalid-baud -- string ) " not supported" 3append ; HOOK: lookup-baud os ( m -- n ) -HOOK: open-serial os ( serial -- serial' ) -M: serial dispose ( serial -- ) stream>> dispose ; +HOOK: open-serial os ( serial -- stream ) { - { [ os unix? ] [ "serial.unix" ] } + { [ os unix? ] [ "io.serial.unix" ] } } cond require diff --git a/extra/io/serial/unix/bsd/bsd.factor b/extra/io/serial/unix/bsd/bsd.factor index 915fd8ce08..3c5ce62c63 100644 --- a/extra/io/serial/unix/bsd/bsd.factor +++ b/extra/io/serial/unix/bsd/bsd.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. -USING: alien.syntax kernel math.bitfields sequences system serial ; +USING: alien.syntax kernel math.bitfields sequences system io.serial ; IN: io.serial.unix M: bsd lookup-baud ( m -- n ) diff --git a/extra/io/serial/unix/linux/linux.factor b/extra/io/serial/unix/linux/linux.factor index d8158ae8bb..342ff4499f 100644 --- a/extra/io/serial/unix/linux/linux.factor +++ b/extra/io/serial/unix/linux/linux.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. -USING: assocs alien.syntax kernel serial system unix ; +USING: assocs alien.syntax kernel io.serial system unix ; IN: io.serial.unix : TCSANOW 0 ; inline diff --git a/extra/io/serial/unix/termios/termios.factor b/extra/io/serial/unix/termios/termios.factor index 440d9114f0..e5ccd37e87 100644 --- a/extra/io/serial/unix/termios/termios.factor +++ b/extra/io/serial/unix/termios/termios.factor @@ -4,6 +4,6 @@ USING: combinators system vocabs.loader ; IN: io.serial.unix.termios { - { [ os linux? ] [ "serial.unix.termios.linux" ] } - { [ os bsd? ] [ "serial.unix.termios.bsd" ] } + { [ os linux? ] [ "io.serial.unix.termios.linux" ] } + { [ os bsd? ] [ "io.serial.unix.termios.bsd" ] } } cond require diff --git a/extra/io/serial/unix/unix.factor b/extra/io/serial/unix/unix.factor index 50849c5d36..ed60d941dd 100644 --- a/extra/io/serial/unix/unix.factor +++ b/extra/io/serial/unix/unix.factor @@ -2,12 +2,12 @@ ! See http://factorcode.org/license.txt for BSD license. USING: accessors alien.c-types alien.syntax combinators io.ports io.streams.duplex io.unix.backend system kernel math math.bitfields -vocabs.loader unix serial serial.unix.termios ; +vocabs.loader unix io.serial io.serial.unix.termios ; IN: io.serial.unix << { - { [ os linux? ] [ "serial.unix.linux" ] } - { [ os bsd? ] [ "serial.unix.bsd" ] } + { [ os linux? ] [ "io.serial.unix.linux" ] } + { [ os bsd? ] [ "io.serial.unix.bsd" ] } } cond require >> FUNCTION: speed_t cfgetispeed ( termios* t ) ; @@ -31,9 +31,8 @@ FUNCTION: int cfsetspeed ( termios* t, speed_t s ) ; : ( path -- stream ) open-rw fd>duplex-stream ; M: unix open-serial ( serial -- serial' ) - dup path>> { O_RDWR O_NOCTTY O_NDELAY } flags file-mode open-file - fd>duplex-stream >>stream ; + fd>duplex-stream ; : serial-fd ( serial -- fd ) stream>> in>> handle>> fd>> ;