aboutsummaryrefslogtreecommitdiff
path: root/REORG.TODO/include/grp.h
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
committerZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
commit5046dbb4a7eba5eccfd258f92f4735c9ffc8d069 (patch)
tree4470480d904b65cf14ca524f96f79eca818c3eaf /REORG.TODO/include/grp.h
parent199fc19d3aaaf57944ef036e15904febe877fc93 (diff)
downloadglibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.tar
glibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.tar.gz
glibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.tar.bz2
glibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.zip
Prepare for radical source tree reorganization.zack/build-layout-experiment
All top-level files and directories are moved into a temporary storage directory, REORG.TODO, except for files that will certainly still exist in their current form at top level when we're done (COPYING, COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which are moved to the new directory OldChangeLogs, instead), and the generated file INSTALL (which is just deleted; in the new order, there will be no generated files checked into version control).
Diffstat (limited to 'REORG.TODO/include/grp.h')
-rw-r--r--REORG.TODO/include/grp.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/REORG.TODO/include/grp.h b/REORG.TODO/include/grp.h
new file mode 100644
index 0000000000..0fb5c9a574
--- /dev/null
+++ b/REORG.TODO/include/grp.h
@@ -0,0 +1,64 @@
+#ifndef _GRP_H
+#include <grp/grp.h>
+
+#ifndef _ISOMAC
+libc_hidden_proto (setgroups)
+
+/* Now define the internal interfaces. */
+extern int __getgrent_r (struct group *__resultbuf, char *buffer,
+ size_t __buflen, struct group **__result)
+ attribute_hidden;
+extern int __old_getgrent_r (struct group *__resultbuf, char *buffer,
+ size_t __buflen, struct group **__result);
+extern int __fgetgrent_r (FILE * __stream, struct group *__resultbuf,
+ char *buffer, size_t __buflen,
+ struct group **__result);
+
+/* Search for an entry with a matching group ID. */
+extern int __getgrgid_r (__gid_t __gid, struct group *__resultbuf,
+ char *__buffer, size_t __buflen,
+ struct group **__result);
+extern int __old_getgrgid_r (__gid_t __gid, struct group *__resultbuf,
+ char *__buffer, size_t __buflen,
+ struct group **__result);
+
+/* Search for an entry with a matching group name. */
+extern int __getgrnam_r (const char *__name, struct group *__resultbuf,
+ char *__buffer, size_t __buflen,
+ struct group **__result);
+extern int __old_getgrnam_r (const char *__name, struct group *__resultbuf,
+ char *__buffer, size_t __buflen,
+ struct group **__result);
+
+struct parser_data;
+extern int _nss_files_parse_grent (char *line, struct group *result,
+ struct parser_data *data,
+ size_t datalen, int *errnop);
+libc_hidden_proto (_nss_files_parse_grent)
+
+#define DECLARE_NSS_PROTOTYPES(service) \
+extern enum nss_status _nss_ ## service ## _setgrent (int); \
+extern enum nss_status _nss_ ## service ## _endgrent (void); \
+extern enum nss_status _nss_ ## service ## _getgrgid_r \
+ (gid_t gid, struct group *grp, char *buffer, \
+ size_t buflen, int *errnop); \
+extern enum nss_status _nss_ ## service ## _getgrnam_r \
+ (const char *name, struct group *grp, \
+ char *buffer, size_t buflen, int *errnop); \
+extern enum nss_status _nss_ ## service ##_getgrent_r \
+ (struct group *result, char *buffer, size_t buflen, \
+ int *errnop); \
+extern enum nss_status _nss_ ## service ##_initgroups_dyn \
+ (const char *user, gid_t group, long int *start, \
+ long int *size, gid_t **groupsp, long int limit, \
+ int *errnop);
+
+DECLARE_NSS_PROTOTYPES (compat)
+DECLARE_NSS_PROTOTYPES (files)
+DECLARE_NSS_PROTOTYPES (hesiod)
+DECLARE_NSS_PROTOTYPES (nis)
+DECLARE_NSS_PROTOTYPES (nisplus)
+
+#undef DECLARE_NSS_PROTOTYPES
+#endif
+#endif