## posix-etc.api
#
# Api for POSIX 1003.1 system data-base operations
# Compiled by:
#
src/lib/std/src/standard-core.sublib### "You can't trust code that you did not totally create yourself."
###
### -- Ken Thompson
stipulate
package pe = posix_etc; # posix_etc is from
src/lib/std/src/psx/posix-etc.pkg #
herein
# This package appears to be implemented in:
#
#
src/lib/std/src/psx/posix-etc.pkg #
api Posix_Etc {
#
eqtype User_Id;
eqtype Group_Id;
package passwd: api {
Passwd;
#
name: Passwd -> String;
uid: Passwd -> User_Id;
gid: Passwd -> Group_Id;
home: Passwd -> String;
shell: Passwd -> String;
};
package group: api {
Group;
#
name: Group -> String;
gid: Group -> Group_Id;
members: Group -> List( String );
};
getgrgid: Group_Id -> group::Group;
getgrnam: String -> group::Group;
getpwuid: User_Id -> passwd::Passwd;
getpwnam: String -> passwd::Passwd;
#######################################################################
# Below stuff is intended only for one-time use during
# booting, to switch from direct to indirect syscalls: # For background see Note[1] in
src/lib/std/src/unsafe/mythryl-callable-c-library-interface.pkg Unt = pe::Unt; # Not sure why we need this -- 2012-04-18 CrT
getgrgid__syscall: Unt -> (String, Unt, List(String));
set__getgrgid__ref: ( { lib_name: String, fun_name: String, io_call: (Unt -> (String, Unt, List(String))) }
-> (Unt -> (String, Unt, List(String)))
)
-> Void;
getgrnam__syscall: String -> (String, Unt, List(String));
set__getgrnam__ref: ( { lib_name: String, fun_name: String, io_call: (String -> (String, Unt, List(String))) }
-> (String -> (String, Unt, List(String)))
)
-> Void;
getpwuid__syscall: Unt -> (String, Unt, Unt, String, String);
set__getpwuid__ref: ( { lib_name: String, fun_name: String, io_call: (Unt -> (String, Unt, Unt, String, String)) }
-> (Unt -> (String, Unt, Unt, String, String))
)
-> Void;
getpwnam__syscall: String -> (String, Unt, Unt, String, String);
set__getpwnam__ref: ( { lib_name: String, fun_name: String, io_call: (String -> (String, Unt, Unt, String, String)) }
-> (String -> (String, Unt, Unt, String, String))
)
-> Void;
}; # api Posix_Etc
end;
## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.