git add -f bin/default/librpc/gen_ndr/*.{c,h,ndr,pidl} bin/default/source*/librpc...
[metze/samba/wip.git] / bin / default / librpc / gen_ndr / ndr_nbt_c.c
1 /* client functions auto-generated by pidl */
2
3 #include "includes.h"
4 #include <tevent.h>
5 #include "lib/util/tevent_ntstatus.h"
6 #include "bin/default/librpc/gen_ndr/ndr_nbt.h"
7 #include "bin/default/librpc/gen_ndr/ndr_nbt_c.h"
8
9 /* nbt - client functions generated by pidl */
10
11 struct dcerpc_decode_netlogon_samlogon_response_packet_r_state {
12         TALLOC_CTX *out_mem_ctx;
13 };
14
15 static void dcerpc_decode_netlogon_samlogon_response_packet_r_done(struct tevent_req *subreq);
16
17 struct tevent_req *dcerpc_decode_netlogon_samlogon_response_packet_r_send(TALLOC_CTX *mem_ctx,
18         struct tevent_context *ev,
19         struct dcerpc_binding_handle *h,
20         struct decode_netlogon_samlogon_response_packet *r)
21 {
22         struct tevent_req *req;
23         struct dcerpc_decode_netlogon_samlogon_response_packet_r_state *state;
24         struct tevent_req *subreq;
25
26         req = tevent_req_create(mem_ctx, &state,
27                                 struct dcerpc_decode_netlogon_samlogon_response_packet_r_state);
28         if (req == NULL) {
29                 return NULL;
30         }
31
32         state->out_mem_ctx = NULL;
33
34         subreq = dcerpc_binding_handle_call_send(state, ev, h,
35                         NULL, &ndr_table_nbt,
36                         NDR_DECODE_NETLOGON_SAMLOGON_RESPONSE_PACKET, state, r);
37         if (tevent_req_nomem(subreq, req)) {
38                 return tevent_req_post(req, ev);
39         }
40         tevent_req_set_callback(subreq, dcerpc_decode_netlogon_samlogon_response_packet_r_done, req);
41
42         return req;
43 }
44
45 static void dcerpc_decode_netlogon_samlogon_response_packet_r_done(struct tevent_req *subreq)
46 {
47         struct tevent_req *req =
48                 tevent_req_callback_data(subreq,
49                 struct tevent_req);
50         NTSTATUS status;
51
52         status = dcerpc_binding_handle_call_recv(subreq);
53         TALLOC_FREE(subreq);
54         if (tevent_req_nterror(req, status)) {
55                 return;
56         }
57
58         tevent_req_done(req);
59 }
60
61 NTSTATUS dcerpc_decode_netlogon_samlogon_response_packet_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
62 {
63         struct dcerpc_decode_netlogon_samlogon_response_packet_r_state *state =
64                 tevent_req_data(req,
65                 struct dcerpc_decode_netlogon_samlogon_response_packet_r_state);
66         NTSTATUS status;
67
68         if (tevent_req_is_nterror(req, &status)) {
69                 tevent_req_received(req);
70                 return status;
71         }
72
73         talloc_steal(mem_ctx, state->out_mem_ctx);
74
75         tevent_req_received(req);
76         return NT_STATUS_OK;
77 }
78
79 NTSTATUS dcerpc_decode_netlogon_samlogon_response_packet_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct decode_netlogon_samlogon_response_packet *r)
80 {
81         NTSTATUS status;
82
83         status = dcerpc_binding_handle_call(h,
84                         NULL, &ndr_table_nbt,
85                         NDR_DECODE_NETLOGON_SAMLOGON_RESPONSE_PACKET, mem_ctx, r);
86
87         return status;
88 }
89
90 struct dcerpc_decode_netlogon_samlogon_response_packet_state {
91         struct decode_netlogon_samlogon_response_packet orig;
92         struct decode_netlogon_samlogon_response_packet tmp;
93         TALLOC_CTX *out_mem_ctx;
94 };
95
96 static void dcerpc_decode_netlogon_samlogon_response_packet_done(struct tevent_req *subreq);
97
98 struct tevent_req *dcerpc_decode_netlogon_samlogon_response_packet_send(TALLOC_CTX *mem_ctx,
99                                                                         struct tevent_context *ev,
100                                                                         struct dcerpc_binding_handle *h,
101                                                                         struct netlogon_samlogon_response _packet /* [in]  */)
102 {
103         struct tevent_req *req;
104         struct dcerpc_decode_netlogon_samlogon_response_packet_state *state;
105         struct tevent_req *subreq;
106
107         req = tevent_req_create(mem_ctx, &state,
108                                 struct dcerpc_decode_netlogon_samlogon_response_packet_state);
109         if (req == NULL) {
110                 return NULL;
111         }
112         state->out_mem_ctx = NULL;
113
114         /* In parameters */
115         state->orig.in.packet = _packet;
116
117         /* Out parameters */
118
119         /* make a temporary copy, that we pass to the dispatch function */
120         state->tmp = state->orig;
121
122         subreq = dcerpc_decode_netlogon_samlogon_response_packet_r_send(state, ev, h, &state->tmp);
123         if (tevent_req_nomem(subreq, req)) {
124                 return tevent_req_post(req, ev);
125         }
126         tevent_req_set_callback(subreq, dcerpc_decode_netlogon_samlogon_response_packet_done, req);
127         return req;
128 }
129
130 static void dcerpc_decode_netlogon_samlogon_response_packet_done(struct tevent_req *subreq)
131 {
132         struct tevent_req *req = tevent_req_callback_data(
133                 subreq, struct tevent_req);
134         struct dcerpc_decode_netlogon_samlogon_response_packet_state *state = tevent_req_data(
135                 req, struct dcerpc_decode_netlogon_samlogon_response_packet_state);
136         NTSTATUS status;
137         TALLOC_CTX *mem_ctx;
138
139         if (state->out_mem_ctx) {
140                 mem_ctx = state->out_mem_ctx;
141         } else {
142                 mem_ctx = state;
143         }
144
145         status = dcerpc_decode_netlogon_samlogon_response_packet_r_recv(subreq, mem_ctx);
146         TALLOC_FREE(subreq);
147         if (tevent_req_nterror(req, status)) {
148                 return;
149         }
150
151         /* Copy out parameters */
152
153         /* Reset temporary structure */
154         ZERO_STRUCT(state->tmp);
155
156         tevent_req_done(req);
157 }
158
159 NTSTATUS dcerpc_decode_netlogon_samlogon_response_packet_recv(struct tevent_req *req,
160                                                               TALLOC_CTX *mem_ctx)
161 {
162         struct dcerpc_decode_netlogon_samlogon_response_packet_state *state = tevent_req_data(
163                 req, struct dcerpc_decode_netlogon_samlogon_response_packet_state);
164         NTSTATUS status;
165
166         if (tevent_req_is_nterror(req, &status)) {
167                 tevent_req_received(req);
168                 return status;
169         }
170
171         /* Steal possible out parameters to the callers context */
172         talloc_steal(mem_ctx, state->out_mem_ctx);
173
174         tevent_req_received(req);
175         return NT_STATUS_OK;
176 }
177
178 NTSTATUS dcerpc_decode_netlogon_samlogon_response_packet(struct dcerpc_binding_handle *h,
179                                                          TALLOC_CTX *mem_ctx,
180                                                          struct netlogon_samlogon_response _packet /* [in]  */)
181 {
182         struct decode_netlogon_samlogon_response_packet r;
183         NTSTATUS status;
184
185         /* In parameters */
186         r.in.packet = _packet;
187
188         /* Out parameters */
189
190         status = dcerpc_decode_netlogon_samlogon_response_packet_r(h, mem_ctx, &r);
191         if (!NT_STATUS_IS_OK(status)) {
192                 return status;
193         }
194
195         /* Return variables */
196
197         /* Return result */
198
199         return NT_STATUS_OK;
200 }
201
202 struct dcerpc_decode_nbt_netlogon_packet_r_state {
203         TALLOC_CTX *out_mem_ctx;
204 };
205
206 static void dcerpc_decode_nbt_netlogon_packet_r_done(struct tevent_req *subreq);
207
208 struct tevent_req *dcerpc_decode_nbt_netlogon_packet_r_send(TALLOC_CTX *mem_ctx,
209         struct tevent_context *ev,
210         struct dcerpc_binding_handle *h,
211         struct decode_nbt_netlogon_packet *r)
212 {
213         struct tevent_req *req;
214         struct dcerpc_decode_nbt_netlogon_packet_r_state *state;
215         struct tevent_req *subreq;
216
217         req = tevent_req_create(mem_ctx, &state,
218                                 struct dcerpc_decode_nbt_netlogon_packet_r_state);
219         if (req == NULL) {
220                 return NULL;
221         }
222
223         state->out_mem_ctx = NULL;
224
225         subreq = dcerpc_binding_handle_call_send(state, ev, h,
226                         NULL, &ndr_table_nbt,
227                         NDR_DECODE_NBT_NETLOGON_PACKET, state, r);
228         if (tevent_req_nomem(subreq, req)) {
229                 return tevent_req_post(req, ev);
230         }
231         tevent_req_set_callback(subreq, dcerpc_decode_nbt_netlogon_packet_r_done, req);
232
233         return req;
234 }
235
236 static void dcerpc_decode_nbt_netlogon_packet_r_done(struct tevent_req *subreq)
237 {
238         struct tevent_req *req =
239                 tevent_req_callback_data(subreq,
240                 struct tevent_req);
241         NTSTATUS status;
242
243         status = dcerpc_binding_handle_call_recv(subreq);
244         TALLOC_FREE(subreq);
245         if (tevent_req_nterror(req, status)) {
246                 return;
247         }
248
249         tevent_req_done(req);
250 }
251
252 NTSTATUS dcerpc_decode_nbt_netlogon_packet_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
253 {
254         struct dcerpc_decode_nbt_netlogon_packet_r_state *state =
255                 tevent_req_data(req,
256                 struct dcerpc_decode_nbt_netlogon_packet_r_state);
257         NTSTATUS status;
258
259         if (tevent_req_is_nterror(req, &status)) {
260                 tevent_req_received(req);
261                 return status;
262         }
263
264         talloc_steal(mem_ctx, state->out_mem_ctx);
265
266         tevent_req_received(req);
267         return NT_STATUS_OK;
268 }
269
270 NTSTATUS dcerpc_decode_nbt_netlogon_packet_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct decode_nbt_netlogon_packet *r)
271 {
272         NTSTATUS status;
273
274         status = dcerpc_binding_handle_call(h,
275                         NULL, &ndr_table_nbt,
276                         NDR_DECODE_NBT_NETLOGON_PACKET, mem_ctx, r);
277
278         return status;
279 }
280
281 struct dcerpc_decode_nbt_netlogon_packet_state {
282         struct decode_nbt_netlogon_packet orig;
283         struct decode_nbt_netlogon_packet tmp;
284         TALLOC_CTX *out_mem_ctx;
285 };
286
287 static void dcerpc_decode_nbt_netlogon_packet_done(struct tevent_req *subreq);
288
289 struct tevent_req *dcerpc_decode_nbt_netlogon_packet_send(TALLOC_CTX *mem_ctx,
290                                                           struct tevent_context *ev,
291                                                           struct dcerpc_binding_handle *h,
292                                                           struct nbt_netlogon_packet _packet /* [in]  */)
293 {
294         struct tevent_req *req;
295         struct dcerpc_decode_nbt_netlogon_packet_state *state;
296         struct tevent_req *subreq;
297
298         req = tevent_req_create(mem_ctx, &state,
299                                 struct dcerpc_decode_nbt_netlogon_packet_state);
300         if (req == NULL) {
301                 return NULL;
302         }
303         state->out_mem_ctx = NULL;
304
305         /* In parameters */
306         state->orig.in.packet = _packet;
307
308         /* Out parameters */
309
310         /* make a temporary copy, that we pass to the dispatch function */
311         state->tmp = state->orig;
312
313         subreq = dcerpc_decode_nbt_netlogon_packet_r_send(state, ev, h, &state->tmp);
314         if (tevent_req_nomem(subreq, req)) {
315                 return tevent_req_post(req, ev);
316         }
317         tevent_req_set_callback(subreq, dcerpc_decode_nbt_netlogon_packet_done, req);
318         return req;
319 }
320
321 static void dcerpc_decode_nbt_netlogon_packet_done(struct tevent_req *subreq)
322 {
323         struct tevent_req *req = tevent_req_callback_data(
324                 subreq, struct tevent_req);
325         struct dcerpc_decode_nbt_netlogon_packet_state *state = tevent_req_data(
326                 req, struct dcerpc_decode_nbt_netlogon_packet_state);
327         NTSTATUS status;
328         TALLOC_CTX *mem_ctx;
329
330         if (state->out_mem_ctx) {
331                 mem_ctx = state->out_mem_ctx;
332         } else {
333                 mem_ctx = state;
334         }
335
336         status = dcerpc_decode_nbt_netlogon_packet_r_recv(subreq, mem_ctx);
337         TALLOC_FREE(subreq);
338         if (tevent_req_nterror(req, status)) {
339                 return;
340         }
341
342         /* Copy out parameters */
343
344         /* Reset temporary structure */
345         ZERO_STRUCT(state->tmp);
346
347         tevent_req_done(req);
348 }
349
350 NTSTATUS dcerpc_decode_nbt_netlogon_packet_recv(struct tevent_req *req,
351                                                 TALLOC_CTX *mem_ctx)
352 {
353         struct dcerpc_decode_nbt_netlogon_packet_state *state = tevent_req_data(
354                 req, struct dcerpc_decode_nbt_netlogon_packet_state);
355         NTSTATUS status;
356
357         if (tevent_req_is_nterror(req, &status)) {
358                 tevent_req_received(req);
359                 return status;
360         }
361
362         /* Steal possible out parameters to the callers context */
363         talloc_steal(mem_ctx, state->out_mem_ctx);
364
365         tevent_req_received(req);
366         return NT_STATUS_OK;
367 }
368
369 NTSTATUS dcerpc_decode_nbt_netlogon_packet(struct dcerpc_binding_handle *h,
370                                            TALLOC_CTX *mem_ctx,
371                                            struct nbt_netlogon_packet _packet /* [in]  */)
372 {
373         struct decode_nbt_netlogon_packet r;
374         NTSTATUS status;
375
376         /* In parameters */
377         r.in.packet = _packet;
378
379         /* Out parameters */
380
381         status = dcerpc_decode_nbt_netlogon_packet_r(h, mem_ctx, &r);
382         if (!NT_STATUS_IS_OK(status)) {
383                 return status;
384         }
385
386         /* Return variables */
387
388         /* Return result */
389
390         return NT_STATUS_OK;
391 }
392