summaryrefslogtreecommitdiff
path: root/include/pwd.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/pwd.h')
-rw-r--r--include/pwd.h85
1 files changed, 62 insertions, 23 deletions
diff --git a/include/pwd.h b/include/pwd.h
index 8a54578b8..e87413304 100644
--- a/include/pwd.h
+++ b/include/pwd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,95,96,97,98,99,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1995-2001,2003,2004 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
@@ -32,7 +32,7 @@ __BEGIN_DECLS
#define __need_size_t
#include <stddef.h>
-#ifdef __USE_XOPEN
+#if defined __USE_XOPEN || defined __USE_XOPEN2K
/* The Single Unix specification says that some more types are
available here. */
# ifndef __gid_t_defined
@@ -66,30 +66,55 @@ struct passwd
#if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN_EXTENDED
-/* Rewind the password-file stream. */
-extern void setpwent (void) __THROW;
+/* Rewind the password-file stream.
-/* Close the password-file stream. */
-extern void endpwent (void) __THROW;
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern void setpwent (void);
-/* Read an entry from the password-file stream, opening it if necessary. */
-extern struct passwd *getpwent (void) __THROW;
+/* Close the password-file stream.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern void endpwent (void);
+
+/* Read an entry from the password-file stream, opening it if necessary.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern struct passwd *getpwent (void);
#endif
#ifdef __USE_SVID
-/* Read an entry from STREAM. */
-extern struct passwd *fgetpwent (FILE *__stream) __THROW;
+/* Read an entry from STREAM.
+
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
+extern struct passwd *fgetpwent (FILE *__stream);
+
+/* Write the given entry onto the given stream.
-/* Write the given entry onto the given stream. */
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
extern int putpwent (__const struct passwd *__restrict __p,
- FILE *__restrict __f) __THROW;
+ FILE *__restrict __f);
#endif
-/* Search for an entry with a matching user ID. */
-extern struct passwd *getpwuid (__uid_t __uid) __THROW;
+/* Search for an entry with a matching user ID.
-/* Search for an entry with a matching username. */
-extern struct passwd *getpwnam (__const char *__name) __THROW;
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern struct passwd *getpwuid (__uid_t __uid);
+
+/* Search for an entry with a matching username.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern struct passwd *getpwnam (__const char *__name);
#if defined __USE_POSIX || defined __USE_MISC
@@ -108,29 +133,38 @@ extern struct passwd *getpwnam (__const char *__name) __THROW;
POSIX people would choose. */
# if defined __USE_SVID || defined __USE_MISC
+/* This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
extern int getpwent_r (struct passwd *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result) __THROW;
+ struct passwd **__restrict __result);
# endif
extern int getpwuid_r (__uid_t __uid,
struct passwd *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result) __THROW;
+ struct passwd **__restrict __result);
extern int getpwnam_r (__const char *__restrict __name,
struct passwd *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result) __THROW;
+ struct passwd **__restrict __result);
# ifdef __USE_SVID
/* Read an entry from STREAM. This function is not standardized and
- probably never will. */
+ probably never will.
+
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
extern int fgetpwent_r (FILE *__restrict __stream,
struct passwd *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result) __THROW;
+ struct passwd **__restrict __result);
# endif
#endif /* POSIX or reentrant */
@@ -138,8 +172,13 @@ extern int fgetpwent_r (FILE *__restrict __stream,
#ifdef __USE_GNU
/* Re-construct the password-file line for the given uid
in the given buffer. This knows the format that the caller
- will expect, but this need not be the format of the password file. */
-extern int getpw (__uid_t __uid, char *__buffer) __THROW;
+ will expect, but this need not be the format of the password file.
+
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
+extern int getpw (__uid_t __uid, char *__buffer);
#endif
__END_DECLS