Changeset 1765 in MondoRescue for branches/2.2.5/mindi-busybox/include/grp_.h
- Timestamp:
- Nov 4, 2007, 3:16:40 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.5/mindi-busybox/include/grp_.h
r821 r1765 1 /* vi: set sw=4 ts=4: */ 1 2 /* Copyright (C) 1991,92,95,96,97,98,99,2000,01 Free Software Foundation, Inc. 2 3 This file is part of the GNU C Library. … … 21 22 */ 22 23 24 #if !ENABLE_USE_BB_PWD_GRP 23 25 24 #if !defined CONFIG_USE_BB_PWD_GRP25 26 #include <grp.h> 26 27 … … 28 29 29 30 #ifndef _GRP_H 30 #define _GRP_H 1 31 #define _GRP_H 1 32 33 /* The group structure. */ 34 struct group { 35 char *gr_name; /* Group name. */ 36 char *gr_passwd; /* Password. */ 37 gid_t gr_gid; /* Group ID. */ 38 char **gr_mem; /* Member list. */ 39 }; 40 41 /* We don't reimplement this, just supplying prototype */ 42 /* The function itself is in libc */ 43 /* Set the group set for the current user to GROUPS (N of them). */ 44 extern int setgroups(size_t __n, __const gid_t *__groups); 31 45 32 46 33 #include <sys/types.h> 34 #include <features.h> 35 #include <stdio.h> 47 #define setgrent bb_internal_setgrent 48 #define endgrent bb_internal_endgrent 49 #define getgrent bb_internal_getgrent 50 #define fgetgrent bb_internal_fgetgrent 51 #define putgrent bb_internal_putgrent 52 #define getgrgid bb_internal_getgrgid 53 #define getgrnam bb_internal_getgrnam 54 #define getgrent_r bb_internal_getgrent_r 55 #define getgrgid_r bb_internal_getgrgid_r 56 #define getgrnam_r bb_internal_getgrnam_r 57 #define fgetgrent_r bb_internal_fgetgrent_r 58 #define getgrouplist bb_internal_getgrouplist 59 #define initgroups bb_internal_initgroups 36 60 37 61 38 /* The group structure. */ 39 struct group 40 { 41 char *gr_name; /* Group name. */ 42 char *gr_passwd; /* Password. */ 43 gid_t gr_gid; /* Group ID. */ 44 char **gr_mem; /* Member list. */ 45 }; 62 /* All function names below should be remapped by #defines above 63 * in order to not collide with libc names. 64 * In theory it isn't necessary, but I saw weird interactions at link time. 65 * Let's play safe */ 46 66 47 67 48 68 /* Rewind the group-file stream. */ 49 extern void setgrent 69 extern void setgrent(void); 50 70 51 71 /* Close the group-file stream. */ 52 extern void endgrent 72 extern void endgrent(void); 53 73 54 74 /* Read an entry from the group-file stream, opening it if necessary. */ 55 extern struct group *getgrent 75 extern struct group *getgrent(void); 56 76 57 77 /* Read a group entry from STREAM. */ 58 extern struct group *fgetgrent 78 extern struct group *fgetgrent(FILE *__stream); 59 79 60 80 /* Write the given entry onto the given stream. */ 61 extern int putgrent 81 extern int putgrent(__const struct group *__restrict __p, 62 82 FILE *__restrict __f); 63 83 64 84 /* Search for an entry with a matching group ID. */ 65 extern struct group *getgrgid 85 extern struct group *getgrgid(gid_t __gid); 66 86 67 87 /* Search for an entry with a matching group name. */ 68 extern struct group *getgrnam 88 extern struct group *getgrnam(__const char *__name); 69 89 70 90 /* Reentrant versions of some of the functions above. … … 76 96 POSIX people would choose. */ 77 97 78 extern int getgrent_r 98 extern int getgrent_r(struct group *__restrict __resultbuf, 79 99 char *__restrict __buffer, size_t __buflen, 80 100 struct group **__restrict __result); 81 101 82 102 /* Search for an entry with a matching group ID. */ 83 extern int getgrgid_r 103 extern int getgrgid_r(gid_t __gid, struct group *__restrict __resultbuf, 84 104 char *__restrict __buffer, size_t __buflen, 85 105 struct group **__restrict __result); 86 106 87 107 /* Search for an entry with a matching group name. */ 88 extern int getgrnam_r 108 extern int getgrnam_r(__const char *__restrict __name, 89 109 struct group *__restrict __resultbuf, 90 110 char *__restrict __buffer, size_t __buflen, … … 93 113 /* Read a group entry from STREAM. This function is not standardized 94 114 an probably never will. */ 95 extern int fgetgrent_r 115 extern int fgetgrent_r(FILE *__restrict __stream, 96 116 struct group *__restrict __resultbuf, 97 117 char *__restrict __buffer, size_t __buflen, 98 118 struct group **__restrict __result); 99 119 100 /* Set the group set for the current user to GROUPS (N of them). */101 extern int setgroups (size_t __n, __const gid_t *__groups);102 103 120 /* Store at most *NGROUPS members of the group set for USER into 104 121 *GROUPS. Also include GROUP. The actual number of groups found is 105 122 returned in *NGROUPS. Return -1 if the if *NGROUPS is too small. */ 106 extern int getgrouplist 123 extern int getgrouplist(__const char *__user, gid_t __group, 107 124 gid_t *__groups, int *__ngroups); 108 125 … … 110 127 by reading the group database and using all groups 111 128 of which USER is a member. Also include GROUP. */ 112 extern int initgroups 129 extern int initgroups(__const char *__user, gid_t __group); 113 130 114 131
Note:
See TracChangeset
for help on using the changeset viewer.