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