Apply post-1.21.0 patches, bump version to 1.21.1
[oweals/busybox.git] / include / grp_.h
index 697a78606559b39a0cbaf072578d5184d841b40e..e5075e5a0bde50bd03e6c4bee9737aaefa94c577 100644 (file)
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
+   02111-1307 USA.
+ */
 /*
- *     POSIX Standard: 9.2.1 Group Database Access     <grp.h>
+ * POSIX Standard: 9.2.1 Group Database Access <grp.h>
  */
+#ifndef BB_GRP_H
+#define BB_GRP_H 1
 
-#ifndef        BB_GRP_H
-#define        BB_GRP_H 1
-
-#if __GNUC_PREREQ(4,1)
-# pragma GCC visibility push(hidden)
-#endif
+PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
 
 /* This file is #included after #include <grp.h>
- * We will use libc-defined structures, but will #define finction names
+ * We will use libc-defined structures, but will #define function names
  * so that function calls are directed to bb_internal_XXX replacements
  */
-
+#undef endgrent
 #define setgrent     bb_internal_setgrent
 #define endgrent     bb_internal_endgrent
 #define getgrent     bb_internal_getgrent
@@ -58,6 +55,7 @@ extern void setgrent(void);
 /* Close the group-file stream.  */
 extern void endgrent(void);
 
+#ifdef UNUSED_SINCE_WE_AVOID_STATIC_BUFS
 /* Read an entry from the group-file stream, opening it if necessary.  */
 extern struct group *getgrent(void);
 
@@ -66,7 +64,8 @@ extern struct group *fgetgrent(FILE *__stream);
 
 /* Write the given entry onto the given stream.  */
 extern int putgrent(const struct group *__restrict __p,
-                    FILE *__restrict __f);
+               FILE *__restrict __f);
+#endif
 
 /* Search for an entry with a matching group ID.  */
 extern struct group *getgrgid(gid_t __gid);
@@ -83,40 +82,38 @@ extern struct group *getgrnam(const char *__name);
    POSIX people would choose.  */
 
 extern int getgrent_r(struct group *__restrict __resultbuf,
-                      char *__restrict __buffer, size_t __buflen,
-                      struct group **__restrict __result);
+               char *__restrict __buffer, size_t __buflen,
+               struct group **__restrict __result);
 
 /* Search for an entry with a matching group ID.  */
 extern int getgrgid_r(gid_t __gid, struct group *__restrict __resultbuf,
-                      char *__restrict __buffer, size_t __buflen,
-                      struct group **__restrict __result);
+               char *__restrict __buffer, size_t __buflen,
+               struct group **__restrict __result);
 
 /* Search for an entry with a matching group name.  */
 extern int getgrnam_r(const char *__restrict __name,
-                      struct group *__restrict __resultbuf,
-                      char *__restrict __buffer, size_t __buflen,
-                      struct group **__restrict __result);
+               struct group *__restrict __resultbuf,
+               char *__restrict __buffer, size_t __buflen,
+               struct group **__restrict __result);
 
 /* Read a group entry from STREAM.  This function is not standardized
    an probably never will.  */
 extern int fgetgrent_r(FILE *__restrict __stream,
-                       struct group *__restrict __resultbuf,
-                       char *__restrict __buffer, size_t __buflen,
-                       struct group **__restrict __result);
+               struct group *__restrict __resultbuf,
+               char *__restrict __buffer, size_t __buflen,
+               struct group **__restrict __result);
 
 /* Store at most *NGROUPS members of the group set for USER into
    *GROUPS.  Also include GROUP.  The actual number of groups found is
    returned in *NGROUPS.  Return -1 if the if *NGROUPS is too small.  */
 extern int getgrouplist(const char *__user, gid_t __group,
-                        gid_t *__groups, int *__ngroups);
+               gid_t *__groups, int *__ngroups);
 
 /* 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 initgroups(const char *__user, gid_t __group);
 
-#if __GNUC_PREREQ(4,1)
-# pragma GCC visibility pop
-#endif
+POP_SAVED_FUNCTION_VISIBILITY
 
 #endif