PORTMAP: Add support for PORTMAP v3 CALLIT
[deb_libnfs.git] / portmap / libnfs-raw-portmap.h
index 2a41831701b47390cab67474fd56b7e13d11614d..c888263d74e3033130ab56b80bfe4488dc318dee 100644 (file)
@@ -79,6 +79,26 @@ struct pmap3_dump_result {
 };
 typedef struct pmap3_dump_result pmap3_dump_result;
 
+struct pmap3_call_args {
+       u_int prog;
+       u_int vers;
+       u_int proc;
+       struct {
+               u_int args_len;
+               char *args_val;
+       } args;
+};
+typedef struct pmap3_call_args pmap3_call_args;
+
+struct pmap3_call_result {
+       u_int port;
+       struct {
+               u_int res_len;
+               char *res_val;
+       } res;
+};
+typedef struct pmap3_call_result pmap3_call_result;
+
 #define PMAP_PROGRAM 100000
 #define PMAP_V2 2
 
@@ -142,6 +162,9 @@ extern  pmap3_getaddr_result * pmap3_getaddr_3_svc(pmap3_mapping *, struct svc_r
 #define PMAP3_DUMP 4
 extern  pmap3_dump_result * pmap3_dump_3(void *, CLIENT *);
 extern  pmap3_dump_result * pmap3_dump_3_svc(void *, struct svc_req *);
+#define PMAP3_CALLIT 5
+extern  pmap3_call_result * pmap3_callit_3(pmap3_call_args *, CLIENT *);
+extern  pmap3_call_result * pmap3_callit_3_svc(pmap3_call_args *, struct svc_req *);
 #define PMAP3_GETTIME 6
 extern  u_int * pmap3_gettime_3(void *, CLIENT *);
 extern  u_int * pmap3_gettime_3_svc(void *, struct svc_req *);
@@ -163,6 +186,9 @@ extern  pmap3_getaddr_result * pmap3_getaddr_3_svc();
 #define PMAP3_DUMP 4
 extern  pmap3_dump_result * pmap3_dump_3();
 extern  pmap3_dump_result * pmap3_dump_3_svc();
+#define PMAP3_CALLIT 5
+extern  pmap3_call_result * pmap3_callit_3();
+extern  pmap3_call_result * pmap3_callit_3_svc();
 #define PMAP3_GETTIME 6
 extern  u_int * pmap3_gettime_3();
 extern  u_int * pmap3_gettime_3_svc();
@@ -181,6 +207,8 @@ extern  bool_t zdr_pmap3_getaddr_result (ZDR *, pmap3_getaddr_result*);
 extern  bool_t zdr_pmap3_mapping (ZDR *, pmap3_mapping*);
 extern  bool_t zdr_pmap3_mapping_list (ZDR *, pmap3_mapping_list*);
 extern  bool_t zdr_pmap3_dump_result (ZDR *, pmap3_dump_result*);
+extern  bool_t zdr_pmap3_call_args (ZDR *, pmap3_call_args*);
+extern  bool_t zdr_pmap3_call_result (ZDR *, pmap3_call_result*);
 
 #else /* K&R C */
 extern bool_t zdr_pmap2_mapping ();
@@ -192,6 +220,8 @@ extern bool_t zdr_pmap3_getaddr_result ();
 extern bool_t zdr_pmap3_mapping ();
 extern bool_t zdr_pmap3_mapping_list ();
 extern bool_t zdr_pmap3_dump_result ();
+extern bool_t zdr_pmap3_call_args ();
+extern bool_t zdr_pmap3_call_result ();
 
 #endif /* K&R C */