

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;
};

