


The standard library Posix_Process api is a sub-API of the Posixlib api.
The above information is manually maintained and may contain errors.
api { eqtype Process_Id ;
unt_to_pid : one_word_unt::Unt -> Process_Id;
pid_to_unt : Process_Id -> one_word_unt::Unt;
fork : Void -> Null_Or(Process_Id );
exec : (String , List(String )) -> X;
exece : (String , List(String ) , List(String )) -> X;
execp : (String , List(String )) -> X;
Waitpid_Arg
= W_ANY_CHILD
| W_CHILD Process_Id
| W_GROUP Process_Id
| W_SAME_GROUP;
Exit_Status
= W_EXITED
| W_EXITSTATUS one_byte_unt::Unt
| W_SIGNALED interprocess_signals::Signal
| W_STOPPED interprocess_signals::Signal;
package w : 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;
untraced : Flags;
};;
wait : Void -> (Process_Id , Exit_Status);
waitpid : (Waitpid_Arg , List(w::Flags ))
-> (Process_Id , Exit_Status);
waitpid_without_blocking : (Waitpid_Arg , List(w::Flags ))
-> Null_Or(((Process_Id , Exit_Status)) );
exit : one_byte_unt::Unt -> X;
Killpid_Arg
= K_GROUP Process_Id | K_PROC Process_Id | K_SAME_GROUP;
kill : (Killpid_Arg , interprocess_signals::Signal) -> Void;
alarm : time::Time -> time::Time;
pause : Void -> Void;
sleep : time::Time -> time::Time;
osval : String -> Int;
osval__syscall : String -> Int;
set__osval__ref : ({fun_name:String, io_call:String -> Int,
lib_name:String}
-> String -> Int) -> Void;
sysconf__syscall : String -> one_word_unt::Unt;
set__sysconf__ref : ({fun_name:String,
io_call:String -> one_word_unt::Unt, lib_name:String}
-> String -> one_word_unt::Unt) -> Void;
waitpid__syscall : (Int , one_word_unt::Unt) -> (Int , Int , Int);
set__waitpid__ref : ({fun_name:String,
io_call:(Int , one_word_unt::Unt) -> (Int , Int , Int),
lib_name:String}
-> (Int , one_word_unt::Unt) -> (Int , Int , Int))
-> Void;
kill__syscall : (Int , Int) -> Void;
set__kill__ref : ({fun_name:String, io_call:(Int , Int) -> Void,
lib_name:String}
-> (Int , Int) -> Void) -> Void;
};


