11e72d8d2Sderaadt /* pwd.h - Try to approximate UN*X's getuser...() functions under MS-DOS. 21e72d8d2Sderaadt Copyright (C) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet 31e72d8d2Sderaadt 41e72d8d2Sderaadt This program is free software; you can redistribute it and/or modify 51e72d8d2Sderaadt it under the terms of the GNU General Public License as published by 61e72d8d2Sderaadt the Free Software Foundation; either version 1, or (at your option) 71e72d8d2Sderaadt any later version. 81e72d8d2Sderaadt 91e72d8d2Sderaadt This program is distributed in the hope that it will be useful, 101e72d8d2Sderaadt but WITHOUT ANY WARRANTY; without even the implied warranty of 111e72d8d2Sderaadt MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12*2286d8edStholo GNU General Public License for more details. */ 131e72d8d2Sderaadt 141e72d8d2Sderaadt /* This 'implementation' is conjectured from the use of this functions in 151e72d8d2Sderaadt the RCS and BASH distributions. Of course these functions don't do too 161e72d8d2Sderaadt much useful things under MS-DOS, but using them avoids many "#ifdef 171e72d8d2Sderaadt MSDOS" in ported UN*X code ... */ 181e72d8d2Sderaadt 191e72d8d2Sderaadt #if 0 201e72d8d2Sderaadt /* This is taken care of in Windows-NT/config.h. */ 211e72d8d2Sderaadt typedef int uid_t; 221e72d8d2Sderaadt #endif 231e72d8d2Sderaadt 241e72d8d2Sderaadt struct passwd 251e72d8d2Sderaadt { 261e72d8d2Sderaadt /* ... */ 271e72d8d2Sderaadt /* missing stuff */ 281e72d8d2Sderaadt /* ... */ 291e72d8d2Sderaadt char *pw_name; /* login user id */ 301e72d8d2Sderaadt char *pw_dir; /* home directory */ 311e72d8d2Sderaadt char *pw_shell; /* login shell */ 321e72d8d2Sderaadt int pw_uid; 331e72d8d2Sderaadt }; 341e72d8d2Sderaadt 351e72d8d2Sderaadt struct group 361e72d8d2Sderaadt { 371e72d8d2Sderaadt /* ... */ 381e72d8d2Sderaadt /* missing stuff */ 391e72d8d2Sderaadt /* ... */ 401e72d8d2Sderaadt char *gr_name; /* login user id */ 411e72d8d2Sderaadt int gr_gid; 421e72d8d2Sderaadt }; 431e72d8d2Sderaadt 441e72d8d2Sderaadt extern struct passwd *getpwuid (int); 451e72d8d2Sderaadt extern struct passwd *getpwnam (char *); 461e72d8d2Sderaadt extern struct group *getgrgid (int); 471e72d8d2Sderaadt extern struct group *getgrnam (char *); 481e72d8d2Sderaadt extern char *getlogin (void); 491e72d8d2Sderaadt extern char *getgr_name (void); 501e72d8d2Sderaadt extern int getuid (void); 511e72d8d2Sderaadt extern int getgid (void); 521e72d8d2Sderaadt extern int geteuid (void); 531e72d8d2Sderaadt extern int getegid (void); 541e72d8d2Sderaadt 551e72d8d2Sderaadt extern int *groups; 561e72d8d2Sderaadt extern int ngroups; 571e72d8d2Sderaadt extern int getgroups (int, int *); 581e72d8d2Sderaadt 591e72d8d2Sderaadt extern struct passwd *getpwent (void); 601e72d8d2Sderaadt extern void setpwent (void); 611e72d8d2Sderaadt extern void endpwent (void); 621e72d8d2Sderaadt extern void endgrent (void); 631e72d8d2Sderaadt 641e72d8d2Sderaadt /* 651e72d8d2Sderaadt * Local Variables: 661e72d8d2Sderaadt * mode:C 671e72d8d2Sderaadt * ChangeLog:ChangeLog 681e72d8d2Sderaadt * compile-command:make 691e72d8d2Sderaadt * End: 701e72d8d2Sderaadt */ 71