Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • pw's avatar
    fec88cf3
    From Timothy Miller · fec88cf3
    pw authored
    Here's a patch to add more complete support of tty functions and parameters
    to the unix interface (including in particular some more tc* series
    functions as well as cf[gs]et[io]speed and more tty modes), as well as
    o_nonblock. The flags argument to unix-open is changed to be a fixnum
    because some hp flags in particular are larger than 16 bits. I don't have
    access to an alpha/osf1 machine, so I couldn't put in support for it in the
    tty stuff, and I only have access to the header files and source for linux
    and freebsd so the changes for it are untested (although I would be
    surprised if they broke anything for reasons other than typos). For the
    feature conditionals on the symbol entries in the exports list in unix.lisp,
    I used svr4 only for symbols which are listed in the SVID, and an explicit
    list of machines for other symbols. I also consolidated the termios
    definitions based on some standards and include file perusal, along with a
    little inference (see the comment). This patch itself was generated by
    undoing some other changes I made for the sgi dso patch I posted earlier,
    and so has not been tested in this form, but the changes have been tested
    extensively under 17f on HPUX 10.10 (an earlier form of the changes), as
    well as (somewhat less) under 18a on IRIX 6.2 and 6.3 (R5000 O2 and R4400
    Onyx respectively) and Solaris 2.5.1 on an ultrasparc (minimally: it
    compiles).
    
    This patch makes all machines define unix::+NCCS+ instead of unix::+NCC+, so
    if you're on a machine which used to define the latter, you'd need to put
    (defconstant unix::+nccs+ unix::+ncc+)
    in your bootstrap.lisp.
    fec88cf3
    History
    From Timothy Miller
    pw authored
    Here's a patch to add more complete support of tty functions and parameters
    to the unix interface (including in particular some more tc* series
    functions as well as cf[gs]et[io]speed and more tty modes), as well as
    o_nonblock. The flags argument to unix-open is changed to be a fixnum
    because some hp flags in particular are larger than 16 bits. I don't have
    access to an alpha/osf1 machine, so I couldn't put in support for it in the
    tty stuff, and I only have access to the header files and source for linux
    and freebsd so the changes for it are untested (although I would be
    surprised if they broke anything for reasons other than typos). For the
    feature conditionals on the symbol entries in the exports list in unix.lisp,
    I used svr4 only for symbols which are listed in the SVID, and an explicit
    list of machines for other symbols. I also consolidated the termios
    definitions based on some standards and include file perusal, along with a
    little inference (see the comment). This patch itself was generated by
    undoing some other changes I made for the sgi dso patch I posted earlier,
    and so has not been tested in this form, but the changes have been tested
    extensively under 17f on HPUX 10.10 (an earlier form of the changes), as
    well as (somewhat less) under 18a on IRIX 6.2 and 6.3 (R5000 O2 and R4400
    Onyx respectively) and Solaris 2.5.1 on an ultrasparc (minimally: it
    compiles).
    
    This patch makes all machines define unix::+NCCS+ instead of unix::+NCC+, so
    if you're on a machine which used to define the latter, you'd need to put
    (defconstant unix::+nccs+ unix::+ncc+)
    in your bootstrap.lisp.