The standard library Posix_Tty api is a sub-API of the Posixlib API.
The above information is manually maintained and may contain errors.
api { eqtype Process_Id; eqtype File_Descriptor; package i : api { eqtype Flags; to_unt : Flags -> one_word_unt::Unt; from_unt : one_word_unt::Unt -> Flags; all : Flags; flags : List(Flags ) -> Flags; intersect : List(Flags ) -> Flags; clear : (Flags , Flags) -> Flags; all_set : (Flags , Flags) -> Bool; any_set : (Flags , Flags) -> Bool; brkint : Flags; icrnl : Flags; ignbrk : Flags; igncr : Flags; ignpar : Flags; inlcr : Flags; inpck : Flags; istrip : Flags; ixoff : Flags; ixon : Flags; parmrk : Flags;};; package o : api { eqtype Flags; to_unt : Flags -> one_word_unt::Unt; from_unt : one_word_unt::Unt -> Flags; all : Flags; flags : List(Flags ) -> Flags; intersect : List(Flags ) -> Flags; clear : (Flags , Flags) -> Flags; all_set : (Flags , Flags) -> Bool; any_set : (Flags , Flags) -> Bool; opost : Flags;};; package c : api { eqtype Flags; to_unt : Flags -> one_word_unt::Unt; from_unt : one_word_unt::Unt -> Flags; all : Flags; flags : List(Flags ) -> Flags; intersect : List(Flags ) -> Flags; clear : (Flags , Flags) -> Flags; all_set : (Flags , Flags) -> Bool; any_set : (Flags , Flags) -> Bool; clocal : Flags; cread : Flags; csize : Flags; cs5 : Flags; cs6 : Flags; cs7 : Flags; cs8 : Flags; cstopb : Flags; hupcl : Flags; parenb : Flags; parodd : Flags;};; package l : api { eqtype Flags; to_unt : Flags -> one_word_unt::Unt; from_unt : one_word_unt::Unt -> Flags; all : Flags; flags : List(Flags ) -> Flags; intersect : List(Flags ) -> Flags; clear : (Flags , Flags) -> Flags; all_set : (Flags , Flags) -> Bool; any_set : (Flags , Flags) -> Bool; echo : Flags; echoe : Flags; echok : Flags; echonl : Flags; icanon : Flags; iexten : Flags; isig : Flags; noflsh : Flags; tostop : Flags;};; package v : api { eof : Int; eol : Int; erase : Int; intr : Int; kill : Int; min : Int; quit : Int; susp : Int; time : Int; start : Int; stop : Int; nccs : Int; Cc; cc : List(((Int , Char)) ) -> Cc; update : (Cc , List(((Int , Char)) )) -> Cc; sub : (Cc , Int) -> Char;};; eqtype Speed; compare_speed : (Speed , Speed) -> Order; speed_to_unt : Speed -> one_word_unt::Unt; unt_to_speed : one_word_unt::Unt -> Speed; b0 : Speed; b50 : Speed; b75 : Speed; b110 : Speed; b134 : Speed; b150 : Speed; b200 : Speed; b300 : Speed; b600 : Speed; b1200 : Speed; b1800 : Speed; b2400 : Speed; b4800 : Speed; b9600 : Speed; b19200 : Speed; b38400 : Speed; Termios; termios : {cc:v::Cc, cflag:c::Flags, iflag:i::Flags, ispeed:Speed, lflag:l::Flags, oflag:o::Flags, ospeed:Speed} -> Termios; fields_of : Termios -> {cc:v::Cc, cflag:c::Flags, iflag:i::Flags, ispeed:Speed, lflag:l::Flags, oflag:o::Flags, ospeed:Speed}; getiflag : Termios -> i::Flags; getoflag : Termios -> o::Flags; getcflag : Termios -> c::Flags; getlflag : Termios -> l::Flags; getcc : Termios -> v::Cc; getospeed : Termios -> Speed; setospeed : (Termios , Speed) -> Termios; getispeed : Termios -> Speed; setispeed : (Termios , Speed) -> Termios; package tc : api { eqtype Set_Action; sanow : Set_Action; sadrain : Set_Action; saflush : Set_Action; eqtype Flow_Action; ooff : Flow_Action; oon : Flow_Action; ioff : Flow_Action; ion : Flow_Action; eqtype Queue_Sel; iflush : Queue_Sel; oflush : Queue_Sel; ioflush : Queue_Sel;};; getattr : File_Descriptor -> Termios; setattr : (File_Descriptor , tc::Set_Action , Termios) -> Void; sendbreak : (File_Descriptor , Int) -> Void; drain : File_Descriptor -> Void; flush : (File_Descriptor , tc::Queue_Sel) -> Void; flow : (File_Descriptor , tc::Flow_Action) -> Void; getpgrp : File_Descriptor -> Process_Id; setpgrp : (File_Descriptor , Process_Id) -> Void; Sy_Int = Int; osval4__syscall : String -> Sy_Int; set__osval4__ref : ({fun_name:String, io_call:String -> Sy_Int, lib_name:String} -> String -> Sy_Int) -> Void; Termio_Rep = ( one_word_unt::Unt , one_word_unt::Unt , one_word_unt::Unt , one_word_unt::Unt , vector_of_one_byte_unts::Vector , one_word_unt::Unt , one_word_unt::Unt ); tcgetattr__syscall : Int -> Termio_Rep; set__tcgetattr__ref : ({fun_name:String, io_call:Int -> Termio_Rep, lib_name:String} -> Int -> Termio_Rep) -> Void; tcsetattr__syscall : (Int , Sy_Int , Termio_Rep) -> Void; set__tcsetattr__ref : ( {fun_name:String, io_call:(Int , Sy_Int , Termio_Rep) -> Void, lib_name:String} -> (Int , Sy_Int , Termio_Rep) -> Void ) -> Void; tcsendbreak__syscall : (Int , Int) -> Void; set__tcsendbreak__ref : ({fun_name:String, io_call:(Int , Int) -> Void, lib_name:String} -> (Int , Int) -> Void) -> Void; tcdrain__syscall : Int -> Void; set__tcdrain__ref : ({fun_name:String, io_call:Int -> Void, lib_name:String} -> Int -> Void) -> Void; tcflush__syscall : (Int , Sy_Int) -> Void; set__tcflush__ref : ({fun_name:String, io_call:(Int , Sy_Int) -> Void, lib_name:String} -> (Int , Sy_Int) -> Void) -> Void; tcflow__syscall : (Int , Sy_Int) -> Void; set__tcflow__ref : ({fun_name:String, io_call:(Int , Sy_Int) -> Void, lib_name:String} -> (Int , Sy_Int) -> Void) -> Void; tcgetpgrp__syscall : Int -> Sy_Int; set__tcgetpgrp__ref : ({fun_name:String, io_call:Int -> Sy_Int, lib_name:String} -> Int -> Sy_Int) -> Void; tcsetpgrp__syscall : (Int , Sy_Int) -> Void; set__tcsetpgrp__ref : ({fun_name:String, io_call:(Int , Sy_Int) -> Void, lib_name:String} -> (Int , Sy_Int) -> Void) -> Void;};