about summary refs log tree commit diff
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 */