xref: /openbsd-src/gnu/usr.bin/cvs/windows-NT/pwd.h (revision 2286d8ed900f26153a3cd5227a124b1c0adce72f)
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