PORTMAPv3: Add NULL and DUMP commands. Also add portmap example client.
[deb_libnfs.git] / portmap / libnfs-raw-portmap.h
1 /*
2 * Please do not edit this file.
3 * It was generated using rpcgen.
4 */
5
6 #ifndef _PORTMAP_H_RPCGEN
7 #define _PORTMAP_H_RPCGEN
8
9
10
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 #define PMAP_PORT 111
17
18 struct pmap2_mapping {
19 u_int prog;
20 u_int vers;
21 u_int prot;
22 u_int port;
23 };
24 typedef struct pmap2_mapping pmap2_mapping;
25
26 struct pmap2_call_args {
27 u_int prog;
28 u_int vers;
29 u_int proc;
30 struct {
31 u_int args_len;
32 char *args_val;
33 } args;
34 };
35 typedef struct pmap2_call_args pmap2_call_args;
36
37 struct pmap2_call_result {
38 u_int port;
39 struct {
40 u_int res_len;
41 char *res_val;
42 } res;
43 };
44 typedef struct pmap2_call_result pmap2_call_result;
45
46 struct pmap2_mapping_list {
47 pmap2_mapping map;
48 struct pmap2_mapping_list *next;
49 };
50 typedef struct pmap2_mapping_list pmap2_mapping_list;
51
52 struct pmap2_dump_result {
53 struct pmap2_mapping_list *list;
54 };
55 typedef struct pmap2_dump_result pmap2_dump_result;
56
57 struct pmap3_mapping {
58 u_int prog;
59 u_int vers;
60 char *netid;
61 char *addr;
62 char *owner;
63 };
64 typedef struct pmap3_mapping pmap3_mapping;
65
66 struct pmap3_mapping_list {
67 pmap3_mapping map;
68 struct pmap3_mapping_list *next;
69 };
70 typedef struct pmap3_mapping_list pmap3_mapping_list;
71
72 struct pmap3_dump_result {
73 struct pmap3_mapping_list *list;
74 };
75 typedef struct pmap3_dump_result pmap3_dump_result;
76
77 #define PMAP_PROGRAM 100000
78 #define PMAP_V2 2
79
80 #if defined(__STDC__) || defined(__cplusplus)
81 #define PMAP2_NULL 0
82 extern void * pmap2_null_2(void *, CLIENT *);
83 extern void * pmap2_null_2_svc(void *, struct svc_req *);
84 #define PMAP2_SET 1
85 extern bool_t * pmap2_set_2(pmap2_mapping *, CLIENT *);
86 extern bool_t * pmap2_set_2_svc(pmap2_mapping *, struct svc_req *);
87 #define PMAP2_UNSET 2
88 extern bool_t * pmap2_unset_2(pmap2_mapping *, CLIENT *);
89 extern bool_t * pmap2_unset_2_svc(pmap2_mapping *, struct svc_req *);
90 #define PMAP2_GETPORT 3
91 extern u_int * pmap2_getport_2(pmap2_mapping *, CLIENT *);
92 extern u_int * pmap2_getport_2_svc(pmap2_mapping *, struct svc_req *);
93 #define PMAP2_DUMP 4
94 extern pmap2_dump_result * pmap2_dump_2(void *, CLIENT *);
95 extern pmap2_dump_result * pmap2_dump_2_svc(void *, struct svc_req *);
96 #define PMAP2_CALLIT 5
97 extern pmap2_call_result * pmap2_callit_2(pmap2_call_args *, CLIENT *);
98 extern pmap2_call_result * pmap2_callit_2_svc(pmap2_call_args *, struct svc_req *);
99 extern int pmap_program_2_freeresult (SVCXPRT *, zdrproc_t, caddr_t);
100
101 #else /* K&R C */
102 #define PMAP2_NULL 0
103 extern void * pmap2_null_2();
104 extern void * pmap2_null_2_svc();
105 #define PMAP2_SET 1
106 extern bool_t * pmap2_set_2();
107 extern bool_t * pmap2_set_2_svc();
108 #define PMAP2_UNSET 2
109 extern bool_t * pmap2_unset_2();
110 extern bool_t * pmap2_unset_2_svc();
111 #define PMAP2_GETPORT 3
112 extern u_int * pmap2_getport_2();
113 extern u_int * pmap2_getport_2_svc();
114 #define PMAP2_DUMP 4
115 extern pmap2_dump_result * pmap2_dump_2();
116 extern pmap2_dump_result * pmap2_dump_2_svc();
117 #define PMAP2_CALLIT 5
118 extern pmap2_call_result * pmap2_callit_2();
119 extern pmap2_call_result * pmap2_callit_2_svc();
120 extern int pmap_program_2_freeresult ();
121 #endif /* K&R C */
122 #define PMAP_V3 3
123
124 #if defined(__STDC__) || defined(__cplusplus)
125 #define PMAP3_NULL 0
126 extern void * pmap3_null_3(void *, CLIENT *);
127 extern void * pmap3_null_3_svc(void *, struct svc_req *);
128 #define PMAP3_DUMP 4
129 extern pmap3_dump_result * pmap3_dump_3(void *, CLIENT *);
130 extern pmap3_dump_result * pmap3_dump_3_svc(void *, struct svc_req *);
131 extern int pmap_program_3_freeresult (SVCXPRT *, zdrproc_t, caddr_t);
132
133 #else /* K&R C */
134 #define PMAP3_NULL 0
135 extern void * pmap3_null_3();
136 extern void * pmap3_null_3_svc();
137 #define PMAP3_DUMP 4
138 extern pmap3_dump_result * pmap3_dump_3();
139 extern pmap3_dump_result * pmap3_dump_3_svc();
140 extern int pmap_program_3_freeresult ();
141 #endif /* K&R C */
142
143 /* the zdr functions */
144
145 #if defined(__STDC__) || defined(__cplusplus)
146 extern bool_t zdr_pmap2_mapping (ZDR *, pmap2_mapping*);
147 extern bool_t zdr_pmap2_call_args (ZDR *, pmap2_call_args*);
148 extern bool_t zdr_pmap2_call_result (ZDR *, pmap2_call_result*);
149 extern bool_t zdr_pmap2_mapping_list (ZDR *, pmap2_mapping_list*);
150 extern bool_t zdr_pmap2_dump_result (ZDR *, pmap2_dump_result*);
151 extern bool_t zdr_pmap3_mapping (ZDR *, pmap3_mapping*);
152 extern bool_t zdr_pmap3_mapping_list (ZDR *, pmap3_mapping_list*);
153 extern bool_t zdr_pmap3_dump_result (ZDR *, pmap3_dump_result*);
154
155 #else /* K&R C */
156 extern bool_t zdr_pmap2_mapping ();
157 extern bool_t zdr_pmap2_call_args ();
158 extern bool_t zdr_pmap2_call_result ();
159 extern bool_t zdr_pmap2_mapping_list ();
160 extern bool_t zdr_pmap2_dump_result ();
161 extern bool_t zdr_pmap3_mapping ();
162 extern bool_t zdr_pmap3_mapping_list ();
163 extern bool_t zdr_pmap3_dump_result ();
164
165 #endif /* K&R C */
166
167 #ifdef __cplusplus
168 }
169 #endif
170
171 #endif /* !_PORTMAP_H_RPCGEN */