aboutsummaryrefslogtreecommitdiff
path: root/nss
diff options
context:
space:
mode:
Diffstat (limited to 'nss')
-rw-r--r--nss/getXXbyYY_r.c4
-rw-r--r--nss/getXXent_r.c8
-rw-r--r--nss/nsswitch.c13
-rw-r--r--nss/nsswitch.h3
4 files changed, 14 insertions, 14 deletions
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
index c8d6b08009..0f1206762b 100644
--- a/nss/getXXbyYY_r.c
+++ b/nss/getXXbyYY_r.c
@@ -82,8 +82,8 @@
/* Type of the lookup function we need here. */
-typedef int (*lookup_function) (ADD_PARAMS, LOOKUP_TYPE *, char *, size_t,
- int * H_ERRNO_PARM);
+typedef enum nss_status (*lookup_function) (ADD_PARAMS, LOOKUP_TYPE *, char *,
+ size_t, int * H_ERRNO_PARM);
/* Some usages of this file might use this variable. */
extern struct __res_state _res;
diff --git a/nss/getXXent_r.c b/nss/getXXent_r.c
index 02a723d6bc..4e2902d2ca 100644
--- a/nss/getXXent_r.c
+++ b/nss/getXXent_r.c
@@ -85,14 +85,14 @@
#endif
/* Prototype for the setXXXent functions we use here. */
-typedef int (*set_function) (STAYOPEN);
+typedef enum nss_status (*set_function) (STAYOPEN);
/* Prototype for the endXXXent functions we use here. */
-typedef int (*end_function) (void);
+typedef enum nss_status (*end_function) (void);
/* Prototype for the setXXXent functions we use here. */
-typedef int (*get_function) (LOOKUP_TYPE *, char *, size_t, int *
- H_ERRNO_PARM);
+typedef enum nss_status (*get_function) (LOOKUP_TYPE *, char *, size_t, int *
+ H_ERRNO_PARM);
/* This handle for the NSS data base is shared between all
diff --git a/nss/nsswitch.c b/nss/nsswitch.c
index c968502cdf..f010d2755c 100644
--- a/nss/nsswitch.c
+++ b/nss/nsswitch.c
@@ -35,8 +35,6 @@
#include "nsswitch.h"
/* Prototypes for the local functions. */
-static void *nss_lookup_function (service_user *ni, const char *fct_name)
- internal_function;
static name_database *nss_parse_file (const char *fname) internal_function;
static name_database_entry *nss_getline (char *line) internal_function;
static service_user *nss_parse_service_list (const char *line)
@@ -140,7 +138,7 @@ __nss_database_lookup (const char *database, const char *alternate_name,
int
__nss_lookup (service_user **ni, const char *fct_name, void **fctp)
{
- *fctp = nss_lookup_function (*ni, fct_name);
+ *fctp = __nss_lookup_function (*ni, fct_name);
while (*fctp == NULL
&& nss_next_action (*ni, NSS_STATUS_UNAVAIL) == NSS_ACTION_CONTINUE
@@ -148,7 +146,7 @@ __nss_lookup (service_user **ni, const char *fct_name, void **fctp)
{
*ni = (*ni)->next;
- *fctp = nss_lookup_function (*ni, fct_name);
+ *fctp = __nss_lookup_function (*ni, fct_name);
}
return *fctp != NULL ? 0 : (*ni)->next == NULL ? 1 : -1;
@@ -187,7 +185,7 @@ __nss_next (service_user **ni, const char *fct_name, void **fctp, int status,
{
*ni = (*ni)->next;
- *fctp = nss_lookup_function (*ni, fct_name);
+ *fctp = __nss_lookup_function (*ni, fct_name);
}
while (*fctp == NULL
&& nss_next_action (*ni, NSS_STATUS_UNAVAIL) == NSS_ACTION_CONTINUE
@@ -310,9 +308,8 @@ known_compare (const void *p1, const void *p2)
}
-static void *
-internal_function
-nss_lookup_function (service_user *ni, const char *fct_name)
+void *
+__nss_lookup_function (service_user *ni, const char *fct_name)
{
void **found, *result;
diff --git a/nss/nsswitch.h b/nss/nsswitch.h
index 412936976a..cb16fe1542 100644
--- a/nss/nsswitch.h
+++ b/nss/nsswitch.h
@@ -127,5 +127,8 @@ int __nss_lookup (service_user **ni, const char *fct_name, void **fctp);
int __nss_next (service_user **ni, const char *fct_name, void **fctp,
int status, int all_values);
+/* Search for the service described in NI for a function named FCT_NAME
+ and return a pointer to this function if successful. */
+void *__nss_lookup_function (service_user *ni, const char *fct_name);
#endif /* nsswitch.h */