about summary refs log tree commit diff
path: root/nss/nsswitch.h
diff options
context:
space:
mode:
Diffstat (limited to 'nss/nsswitch.h')
-rw-r--r--nss/nsswitch.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/nss/nsswitch.h b/nss/nsswitch.h
index c3398d7a7e..76ea8e3c3c 100644
--- a/nss/nsswitch.h
+++ b/nss/nsswitch.h
@@ -130,4 +130,35 @@ int __nss_next (service_user **ni, const char *fct_name, void **fctp,
    and return a pointer to this function if successful.  */
 void *__nss_lookup_function (service_user *ni, const char *fct_name);
 
+
+typedef int (*db_lookup_function) (service_user **, const char *,
+				   void **);
+typedef enum nss_status (*setent_function) (int);
+typedef enum nss_status (*endent_function) (void); 
+typedef enum nss_status (*getent_function) (void *, char *, size_t,
+					    int *, int *); 
+typedef int (*getent_r_function) (void *, char *, size_t,
+				  void **result, int *); 
+
+extern void __nss_setent (const char *func_name,
+			  db_lookup_function lookup_fct,
+			  service_user **nip, service_user **startp,
+			  service_user **last_nip, int stayon,
+			  int *stayon_tmp, int res);
+extern void __nss_endent (const char *func_name,
+			  db_lookup_function lookup_fct,
+			  service_user **nip, service_user **startp,
+			  service_user **last_nip, int res);
+extern int __nss_getent_r (const char *getent_func_name,
+			   const char *setent_func_name,
+			   db_lookup_function lookup_fct,
+			   service_user **nip, service_user **startp,
+			   service_user **last_nip, int *stayon_tmp,
+			   int res,
+			   void *resbuf, char *buffer, size_t buflen,
+			   void **result, int *h_errnop);
+extern void *__nss_getent (getent_r_function func,
+			   void **resbuf, char **buffer, size_t buflen,
+			   size_t *buffer_size, int *h_errnop);
+
 #endif	/* nsswitch.h */