PORTMAPv3: Add NULL and DUMP commands. Also add portmap example client.
[deb_libnfs.git] / portmap / portmap.x
index fc4f22475308f07181dfc3e64c3a25d163b9f0a0..13ac96787ba517e4a05c23f6c961c61372ad816a 100644 (file)
@@ -4,32 +4,49 @@
 
 const PMAP_PORT = 111;      /* portmapper port number */
 
-struct pmap_mapping {
+struct pmap2_mapping {
        unsigned int prog;
        unsigned int vers;
        unsigned int prot;
        unsigned int port;
 };
 
-struct pmap_call_args {
+struct pmap2_call_args {
        unsigned int prog;
        unsigned int vers;
        unsigned int proc;
        opaque args<>;
 };
 
-struct pmap_call_result {
+struct pmap2_call_result {
        unsigned int port;
        opaque res<>;
 };
 
-struct pmap_mapping_list {
-       pmap_mapping map;
-       pmap_mapping_list *next;
+struct pmap2_mapping_list {
+       pmap2_mapping map;
+       pmap2_mapping_list *next;
 };
 
-struct pmap_dump_result {
-       struct pmap_mapping_list *list;
+struct pmap2_dump_result {
+       struct pmap2_mapping_list *list;
+};
+
+struct pmap3_mapping {
+       unsigned int prog;
+       unsigned int vers;
+       string netid<>;
+       string addr<>;
+       string owner<>;
+};
+
+struct pmap3_mapping_list {
+       pmap3_mapping map;
+       pmap3_mapping_list *next;
+};
+
+struct pmap3_dump_result {
+       struct pmap3_mapping_list *list;
 };
 
 program PMAP_PROGRAM {
@@ -38,19 +55,27 @@ program PMAP_PROGRAM {
                PMAP2_NULL(void)              = 0;
 
                bool
-               PMAP2_SET(pmap_mapping)       = 1;
+               PMAP2_SET(pmap2_mapping)       = 1;
 
                bool
-               PMAP2_UNSET(pmap_mapping)     = 2;
+               PMAP2_UNSET(pmap2_mapping)     = 2;
 
                unsigned int
-               PMAP2_GETPORT(pmap_mapping)   = 3;
+               PMAP2_GETPORT(pmap2_mapping)   = 3;
 
-               pmap_dump_result
+               pmap2_dump_result
                PMAP2_DUMP(void)              = 4;
 
-               pmap_call_result
-               PMAP2_CALLIT(pmap_call_args)  = 5;
+               pmap2_call_result
+               PMAP2_CALLIT(pmap2_call_args)  = 5;
        } = 2;
+       version PMAP_V3 {
+               void
+               PMAP3_NULL(void)              = 0;
+
+               pmap3_dump_result
+               PMAP3_DUMP(void)              = 4;
+
+       } = 3;
 } = 100000;