PreviousUpNext

14.3.5  Posix_Id

The standard library Posix_Id 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;
    eqtype User_Id;
    eqtype Group_Id;
    uid_to_unt : User_Id -> one_word_unt::Unt;
    unt_to_uid : one_word_unt::Unt -> User_Id;
    gid_to_unt : Group_Id -> one_word_unt::Unt;
    unt_to_gid : one_word_unt::Unt -> Group_Id;
    get_process_id : Void -> Int;
    get_process_id' : Void -> Process_Id;
    get_parent_process_id : Void -> Int;
    get_parent_process_id' : Void -> Process_Id;
    get_user_id : Void -> Int;
    get_user_id' : Void -> User_Id;
    get_effective_user_id : Void -> Int;
    get_effective_user_id' : Void -> User_Id;
    get_group_id : Void -> Int;
    get_group_id' : Void -> Group_Id;
    get_effective_group_id : Void -> Int;
    get_effective_group_id' : Void -> Group_Id;
    set_user_id : Int -> Void;
    set_user_id' : User_Id -> Void;
    set_group_id : Int -> Void;
    set_group_id' : Group_Id -> Void;
    get_group_ids : Void -> List(Int );
    get_group_ids' : Void -> List(Group_Id );
    get_login : Void -> String;
    get_process_group : Void -> Int;
    get_process_group' : Void -> Process_Id;
    set_session_id : Void -> Int;
    set_session_id' : Void -> Process_Id;
    set_process_group_id : (Int , Int) -> Void;
    set_process_group_id' : {pgid:Null_Or(Process_Id ), pid:Null_Or(Process_Id )} -> Void;
    get_kernel_info : Void -> List(((String , String)) );
    get_elapsed_seconds_since_1970 : Void -> one_word_int::Int;
    get_elapsed_seconds_since_1970' : Void -> time::Time;
        times :
            Void
            ->
            {cstime:time::Time, cutime:time::Time, elapsed:time::Time, stime:time::Time, utime:time::Time};
    getenv : String -> Null_Or(String );
    environment : Void -> List(String );
    get_name_of_controlling_terminal : Void -> String;
    get_name_of_terminal : File_Descriptor -> String;
    is_a_terminal : File_Descriptor -> Bool;
    sysconf : String -> one_word_unt::Unt;
    get_process_id__syscall : Void -> Int;
        set__get_process_id__ref :
        ({fun_name:String, io_call:Void -> Int, lib_name:String} -> Void -> Int) -> Void;
    get_parent_process_id__syscall : Void -> Int;
        set__get_parent_process_id__ref :
        ({fun_name:String, io_call:Void -> Int, lib_name:String} -> Void -> Int) -> Void;
    get_user_id__syscall : Void -> Int;
        set__get_user_id__ref :
        ({fun_name:String, io_call:Void -> Int, lib_name:String} -> Void -> Int) -> Void;
    get_effective_user_id__syscall : Void -> Int;
        set__get_effective_user_id__ref :
        ({fun_name:String, io_call:Void -> Int, lib_name:String} -> Void -> Int) -> Void;
    get_group_id__syscall : Void -> Int;
        set__get_group_id__ref :
        ({fun_name:String, io_call:Void -> Int, lib_name:String} -> Void -> Int) -> Void;
    get_effective_group_id__syscall : Void -> Int;
        set__get_effective_group_id__ref :
        ({fun_name:String, io_call:Void -> Int, lib_name:String} -> Void -> Int) -> Void;
    set_user_id__syscall : Int -> Void;
        set__set_user_id__ref :
        ({fun_name:String, io_call:Int -> Void, lib_name:String} -> Int -> Void) -> Void;
    set_group_id__syscall : Int -> Void;
        set__set_group_id__ref :
        ({fun_name:String, io_call:Int -> Void, lib_name:String} -> Int -> Void) -> Void;
    get_group_ids__syscall : Void -> List(Int );
        set__get_group_ids__ref :
        ({fun_name:String, io_call:Void -> List(Int ), lib_name:String} -> Void -> List(Int )) -> Void;
    get_login__syscall : Void -> String;
        set__get_login__ref :
        ({fun_name:String, io_call:Void -> String, lib_name:String} -> Void -> String) -> Void;
    get_process_group__syscall : Void -> Int;
        set__get_process_group__ref :
        ({fun_name:String, io_call:Void -> Int, lib_name:String} -> Void -> Int) -> Void;
    set_session_id__syscall : Void -> Int;
        set__set_session_id__ref :
        ({fun_name:String, io_call:Void -> Int, lib_name:String} -> Void -> Int) -> Void;
    set_process_group_id__syscall : (Int , Int) -> Void;
        set__set_process_group_id__ref :
        ({fun_name:String, io_call:(Int , Int) -> Void, lib_name:String} -> (Int , Int) -> Void) -> Void;
    get_kernel_info__syscall : Void -> List(((String , String)) );
        set__get_kernel_info__ref :
                (
                {fun_name:String, io_call:Void -> List(((String , String)) ), lib_name:String}
                ->
                Void -> List(((String , String)) )
                )
            ->
            Void;
    get_elapsed_seconds_since_1970__syscall : Void -> one_word_int::Int;
        set__get_elapsed_seconds_since_1970__ref :
            ({fun_name:String, io_call:Void -> one_word_int::Int, lib_name:String} -> Void -> one_word_int::Int)
            ->
            Void;
        times__syscall :
            Void
            ->
            (one_word_int::Int , one_word_int::Int , one_word_int::Int , one_word_int::Int , one_word_int::Int);
        set__times__ref :
                (   {fun_name:String,
                    io_call:
                    Void
                    ->
                    (one_word_int::Int , one_word_int::Int , one_word_int::Int , one_word_int::Int , one_word_int::Int)
                    , lib_name:String}
                ->
                Void
                ->
                (one_word_int::Int , one_word_int::Int , one_word_int::Int , one_word_int::Int , one_word_int::Int)
                )
            ->
            Void;
    getenv__syscall : String -> Null_Or(String );
        set__getenv__ref :
            ({fun_name:String, io_call:String -> Null_Or(String ), lib_name:String} -> String -> Null_Or(String ))
            ->
            Void;
    environment__syscall : Void -> List(String );
        set__environment__ref :
        ({fun_name:String, io_call:Void -> List(String ), lib_name:String} -> Void -> List(String )) -> Void;
    get_name_of_controlling_terminal__syscall : Void -> String;
        set__get_name_of_controlling_terminal__ref :
        ({fun_name:String, io_call:Void -> String, lib_name:String} -> Void -> String) -> Void;
    get_name_of_terminal__syscall : Int -> String;
        set__get_name_of_terminal__ref :
        ({fun_name:String, io_call:Int -> String, lib_name:String} -> Int -> String) -> Void;
    is_a_terminal__syscall : Int -> Bool;
        set__is_a_terminal__ref :
        ({fun_name:String, io_call:Int -> Bool, lib_name:String} -> Int -> Bool) -> Void;};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext