##begin config version 4.8 libbase UserGroupBase libbasetype struct UserGroupBase libbasetypeextern struct Library residentpri -119 options pertaskbase rellib posixc rellib stdc ##end config ##begin cdef #include #include #include #include #include #include ##end cdef ##begin cdefprivate #include "base.h" ##end cdefprivate ##begin functionlist int ug_SetupContextTagList(const UBYTE* pname, struct TagItem *taglist) (A0, A1) int ug_GetErr() () const char *ug_StrError(LONG code) (D1) # User identification uid_t getuid() () uid_t geteuid() () int setreuid(uid_t real, uid_t eff) (D0, D1) int setuid(uid_t id) (D0) # Group membership gid_t getgid() () gid_t getegid() () int setregid(gid_t real, gid_t eff) (D0, D1) int setgid(gid_t id) (D0) int getgroups(int ngroups, gid_t *groups) (D0, A1) int setgroups(int ngroups, const gid_t *groups) (D0, A1) int initgroups(const char *name, gid_t basegroup) (A1, D0) # User database struct passwd *getpwnam(const char *name) (A1) struct passwd *getpwuid(uid_t uid) (D0) void setpwent() () struct passwd *getpwent() () void endpwent() () # Group database struct group *getgrnam(const char * name) (A1) struct group *getgrgid(gid_t gid) (D0) void setgrent() () struct group *getgrent() () void endgrent() () # Password handling char *crypt(const char *key, const char *salt) (A0, A1) char *ug_GetSalt(const struct passwd *user, char *buffer, ULONG size) (A0, A1, D0) char *getpass(const char *prompt) (A1) # Default protections mode_t umask(mode_t mask) (D0) mode_t getumask() () # Sessions pid_t setsid() () pid_t getpgrp() () char *getlogin() () int setlogin(const char *buffer) (A1) # Sessions, user login database (utmp) void setutent() () struct utmp *getutent() () void endutent() () struct lastlog *getlastlog(uid_t uid) (D0) int setlastlog(uid_t uid, char *name, char *host) (D0, A0, A1) # Credentials struct UserGroupCredentials *getcredentials(struct Task *task) (A0) ##end functionlist