+/* Rewind the password-file stream. */
+extern void setpwent (void);
+
+/* Close the password-file stream. */
+extern void endpwent (void);
+
+/* Read an entry from the password-file stream, opening it if necessary. */
+extern struct passwd *getpwent (void);
+
+/* Read an entry from STREAM. */
+extern struct passwd *fgetpwent (FILE *__stream);
+
+/* Write the given entry onto the given stream. */
+extern int putpwent (__const struct passwd *__restrict __p,
+ FILE *__restrict __f);
+
+/* Search for an entry with a matching user ID. */
+extern struct passwd *getpwuid (uid_t __uid);
+
+/* Search for an entry with a matching username. */
+extern struct passwd *getpwnam (__const char *__name);
+
+/* Reentrant versions of some of the functions above.
+
+ PLEASE NOTE: the `getpwent_r' function is not (yet) standardized.
+ The interface may change in later versions of this library. But
+ the interface is designed following the principals used for the
+ other reentrant functions so the chances are good this is what the
+ POSIX people would choose. */
+
+extern int getpwent_r (struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result);
+
+extern int getpwuid_r (uid_t __uid,
+ struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result);