diff options
Diffstat (limited to 'nis/nis_intern.h')
-rw-r--r-- | nis/nis_intern.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/nis/nis_intern.h b/nis/nis_intern.h index 9852c24d55..ce88f0790d 100644 --- a/nis/nis_intern.h +++ b/nis/nis_intern.h @@ -42,16 +42,28 @@ struct dir_binding }; typedef struct dir_binding dir_binding; +struct nis_cb + { + nis_server *serv; + SVCXPRT *xprt; + int sock; + int nomore; + nis_error result; + int (*callback) (const_nis_name, const nis_object *, const void *); + const void *userdata; + }; +typedef struct nis_cb nis_cb; + extern unsigned long inetstr2int __P ((const char *str)); extern long __nis_findfastest __P ((dir_binding *bind)); extern nis_error __do_niscall2 __P ((const nis_server *serv, u_int serv_len, u_long prog, xdrproc_t xargs, caddr_t req, xdrproc_t xres, caddr_t resp, - u_long flags)); + u_long flags, nis_cb *cb)); extern nis_error __do_niscall __P ((const_nis_name name, u_long prog, xdrproc_t xargs, caddr_t req, xdrproc_t xres, caddr_t resp, - u_long flags)); + u_long flags, nis_cb *cb)); extern AUTH *authdes_pk_create __P ((const char *, const netobj *, u_int, struct sockaddr *, des_block *)); @@ -59,6 +71,14 @@ extern AUTH *authdes_pk_create __P ((const char *, const netobj *, u_int, extern directory_obj *__cache_search __P ((const_nis_name name)); extern nis_error __cache_add __P ((fd_result *)); +/* NIS+ callback */ +extern nis_error __nis_do_callback __P ((struct dir_binding *bptr, + netobj *cookie, struct nis_cb *cb)); +extern struct nis_cb *__nis_create_callback + __P ((int (*callback)(const_nis_name, const nis_object *, const void *), + const void *userdata, u_long flags)); +extern nis_error __nis_destroy_callback __P ((struct nis_cb *cb)); + __END_DECLS #endif |