aboutsummaryrefslogtreecommitdiff
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 */