Initial revision
authorroland <roland>
Tue, 25 Jun 1991 01:15:33 +0000 (01:15 +0000)
committerroland <roland>
Tue, 25 Jun 1991 01:15:33 +0000 (01:15 +0000)
grp/grp.h [new file with mode: 0644]
pwd/pwd.h [new file with mode: 0644]

diff --git a/grp/grp.h b/grp/grp.h
new file mode 100644 (file)
index 0000000..0b083d2
--- /dev/null
+++ b/grp/grp.h
@@ -0,0 +1,99 @@
+/* Copyright (C) 1991 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/*
+ *     POSIX Standard: 9.2.1 Group Database Access     <grp.h>
+ */
+
+#ifndef        _GRP_H
+
+#define        _GRP_H  1
+#include <features.h>
+
+#include <gnu/types.h>
+
+
+/* The group structure.         */
+struct group
+  {
+    char *gr_name;     /* Group name.  */
+    char *gr_passwd;   /* Password.    */
+    __gid_t gr_gid;    /* Group ID.    */
+    char **gr_mem;     /* Member list. */
+  };
+
+
+#if defined(__USE_SVID) || defined(__USE_GNU)
+#define        __need_FILE
+#include <stdio.h>
+#endif
+
+#ifdef __USE_GNU
+/* Return a new stream open on the group file.  */
+extern FILE *EXFUN(__grpopen, (NOARGS));
+
+/* Read a group entry from STREAM, filling in G.
+   Return the `struct group' of G if successful, NULL on failure.  */
+extern struct group *EXFUN(__grpread, (FILE *__stream, PTR __g));
+
+/* Return a chunk of memory containing pre-initialized data for __grpread.  */
+extern PTR EXFUN(__grpalloc, (NOARGS));
+#endif
+
+
+#if defined(__USE_SVID) || defined(__USE_MISC)
+/* Rewind the group-file stream.  */
+extern void EXFUN(setgrent, (NOARGS));
+
+/* Close the group-file stream.  */
+extern void EXFUN(endgrent, (NOARGS));
+
+/* Read an entry from the group-file stream, opening it if necessary.  */
+extern struct group *EXFUN(getgrent, (NOARGS));
+#endif
+
+#ifdef __USE_SVID
+/* Read a group entry from STREAM.  */
+extern struct group *EXFUN(fgetgrent, (FILE *__stream));
+#endif
+
+/* Search for an entry with a matching group ID.
+   This takes an `int' because that is what `gid_t's get widened to.  */
+extern struct group *EXFUN(getgrgid, (__gid_t __gid));
+
+/* Search for an entry with a matching group name.  */
+extern struct group *EXFUN(getgrnam, (CONST char *__name));
+
+
+#ifdef __USE_BSD
+
+#define        __need_size_t
+#include <stddef.h>
+
+/* Set the group set for the current user to GROUPS (N of them).  */
+extern int EXFUN(setgroups, (size_t __n, CONST __gid_t *groups));
+
+/* Initialize the group set for the current user
+   by reading the group database and using all groups
+   of which USER is a member.  Also include GROUP.  */
+extern int EXFUN(initgroups, (CONST char *user, __gid_t group));
+
+#endif /* Use BSD.  */
+
+
+#endif /* grp.h  */
diff --git a/pwd/pwd.h b/pwd/pwd.h
new file mode 100644 (file)
index 0000000..ad02efb
--- /dev/null
+++ b/pwd/pwd.h
@@ -0,0 +1,89 @@
+/* Copyright (C) 1991 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/*
+ *     POSIX Standard: 9.2.2 User Database Access      <pwd.h>
+ */
+
+#ifndef        _PWD_H
+
+#define        _PWD_H  1
+#include <features.h>
+
+#include <gnu/types.h>
+
+
+/* The passwd structure.  */
+struct passwd
+  {
+    char *pw_name;     /* Username.  */
+    char *pw_passwd;   /* Password.  */
+    __uid_t pw_uid;    /* User ID.  */
+    __gid_t pw_gid;    /* Group ID.  */
+    char *pw_gecos;    /* Real name.  */
+    char *pw_dir;      /* Home directory.  */
+    char *pw_shell;    /* Shell program.  */
+  };
+
+
+#if defined(__USE_SVID) || defined(__USE_GNU)
+#define        __need_FILE
+#include <stdio.h>
+#endif
+
+#ifdef __USE_GNU
+/* Return a new stream open on the password file.  */
+extern FILE *EXFUN(__pwdopen, (NOARGS));
+
+/* Read a password entry from STREAM, filling in P.
+   Return the `struct passwd' of P if successful, NULL on failure.  */
+extern struct passwd *EXFUN(__pwdread, (FILE *__stream, PTR __p));
+
+/* Return a chunk of memory containing pre-initialized data for __pwdread.  */
+extern PTR EXFUN(__pwdalloc, (NOARGS));
+#endif
+
+
+#if defined(__USE_SVID) || defined(__USE_MISC)
+/* Rewind the password-file stream.  */
+extern void EXFUN(setpwent, (NOARGS));
+
+/* Close the password-file stream.  */
+extern void EXFUN(endpwent, (NOARGS));
+
+/* Read an entry from the password-file stream, opening it if necessary.  */
+extern struct passwd *EXFUN(getpwent, (NOARGS));
+#endif
+
+#ifdef __USE_SVID
+/* Read an entry from STREAM.  */
+extern struct passwd *EXFUN(fgetpwent, (FILE *__stream));
+
+/* Write the given entry onto the given stream.  */
+extern int EXFUN(putpwent, (CONST struct passwd *__p, FILE *__f));
+#endif
+
+/* Search for an entry with a matching user ID.
+   This takes an `int' because that is what `uid_t's get widened to.  */
+extern struct passwd *EXFUN(getpwuid, (__uid_t __uid));
+
+/* Search for an entry with a matching username.  */
+extern struct passwd *EXFUN(getpwnam, (CONST char *__name));
+
+
+#endif /* pwd.h  */