summaryrefslogtreecommitdiff
path: root/nis/nis_intern.h
diff options
context:
space:
mode:
Diffstat (limited to 'nis/nis_intern.h')
-rw-r--r--nis/nis_intern.h24
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