Commit 18da40d5 authored by David Lichteblau's avatar David Lichteblau Committed by Nikodemus Siivola
Browse files

added struct termios and related definitions

parent baa7a764
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -332,6 +332,11 @@
   #:tiocsergetlsr #:tiocsergetmulti #:tiocsersetmulti #:tiocmiwait
   #:tiocgicount #:tiocghayesesp #:tiocshayesesp #:fioqsize

   #:cflag-vmin #:cflag-vlnext #:cflag-vquit #:cflag-veol #:cflag-vreprint
   #:cflag-vtime #:cflag-vstop #:cflag-veol2 #:cflag-vwerase #:cflag-veof
   #:cflag-vsusp #:cflag-vintr #:cflag-vkill #:cflag-vstart #:cflag-verase
   #:cflag-vdiscard #:cflag-vswtc

   ;; Misc
   #:repeat-upon-condition
   #:repeat-upon-eintr
+14 −0
Original line number Diff line number Diff line
@@ -65,6 +65,9 @@
  (path1 filename-designator)
  (path2 filename-designator))

(defsyscall "isatty" :int
  (fd file-descriptor-designator))

;;; files

(defsyscall ("readlink" %readlink) ssize
@@ -659,3 +662,14 @@ than C's printf) with format string FORMAT and arguments ARGS."
  (fd    file-descriptor-designator)
  (iov   :pointer)
  (count size))

;; termios.h

(defsyscall "tcgetattr" :int
  (fd      file-descriptor-designator)
  (termios :pointer))

(defsyscall "tcsetattr" :int
  (fd      file-descriptor-designator)
  (mode    :int)
  (termios :pointer))
+68 −0
Original line number Diff line number Diff line
@@ -520,6 +520,74 @@
  (xpixel "ws_xpixel" :type :uint16)
  (ypixel "ws_ypixel" :type :uint16))

;;;; from termios.h

(cstruct termios "struct termios"
  (iflag "c_iflag" :type :uint32)
  (oflag "c_oflag" :type :uint32)
  (cflag "c_cflag" :type :uint32)
  (lflag "c_lflag" :type :uint32)
  (cc "c_cc" :type :uint8 :count :auto))

(constant (cflag-VINTR "VINTR"))
(constant (cflag-VQUIT "VQUIT"))
(constant (cflag-VERASE "VERASE"))
(constant (cflag-VKILL "VKILL"))
(constant (cflag-VEOF "VEOF"))
(constant (cflag-VTIME "VTIME"))
(constant (cflag-VMIN "VMIN"))
(constant (cflag-VSWTC "VSWTC"))
(constant (cflag-VSTART "VSTART"))
(constant (cflag-VSTOP "VSTOP"))
(constant (cflag-VSUSP "VSUSP"))
(constant (cflag-VEOL "VEOL"))
(constant (cflag-VREPRINT "VREPRINT"))
(constant (cflag-VDISCARD "VDISCARD"))
(constant (cflag-VWERASE "VWERASE"))
(constant (cflag-VLNEXT "VLNEXT"))
(constant (cflag-VEOL2 "VEOL2"))

(constant (TCSANOW "TCSAFNOW"))
(constant (TCSADRAIN "TCSADRAIN"))
(constant (TCSAFLUSH "TCSAFLUSH"))

(constant (tty-IGNBRK "IGNBRK"))
(constant (tty-BRKINT "BRKINT"))
(constant (tty-IGNPAR "IGNPAR"))
(constant (tty-PARMRK "PARMRK"))
(constant (tty-INPCK "INPCK"))
(constant (tty-ISTRIP "ISTRIP"))
(constant (tty-INLCR "INLCR"))
(constant (tty-IGNCR "IGNCR"))
(constant (tty-ICRNL "ICRNL"))
(constant (tty-IUCLC "IUCLC"))
(constant (tty-IXON "IXON"))
(constant (tty-IXANY "IXANY"))
(constant (tty-IXOFF "IXOFF"))
(constant (tty-IMAXBEL "IMAXBEL"))
(constant (tty-IUTF8 "IUTF8"))

(constant (tty-OPOST "OPOST"))
(constant (tty-OLCUC "OLCUC"))
(constant (tty-ONLCR "ONLCR"))
(constant (tty-OCRNL "OCRNL"))
(constant (tty-ONOCR "ONOCR"))
(constant (tty-ONLRET "ONLRET"))
(constant (tty-OFILL "OFILL"))
(constant (tty-OFDEL "OFDEL"))


(constant (tty-ISIG "ISIG"))
(constant (tty-ICANON "ICANON"))
(constant (tty-ECHO "ECHO"))
(constant (tty-ECHOE "ECHOE"))
(constant (tty-ECHOK "ECHOK"))
(constant (tty-ECHONL "ECHONL"))
(constant (tty-NOFLSH "NOFLSH"))
(constant (tty-TOSTOP "TOSTOP"))



;;;; Linux ioctls from sys/ioctl.h

#+linux