rerun make idl
[samba.git] / source3 / librpc / gen_ndr / ndr_unixinfo.c
1 /* parser auto-generated by pidl */
2
3 #include "includes.h"
4 #include "librpc/gen_ndr/ndr_unixinfo.h"
5
6 #include "librpc/gen_ndr/ndr_security.h"
7 static enum ndr_err_code ndr_push_unixinfo_GetPWUidInfo(struct ndr_push *ndr, int ndr_flags, const struct unixinfo_GetPWUidInfo *r)
8 {
9         if (ndr_flags & NDR_SCALARS) {
10                 NDR_CHECK(ndr_push_align(ndr, 4));
11                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
12                 {
13                         uint32_t _flags_save_string = ndr->flags;
14                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
15                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->homedir));
16                         ndr->flags = _flags_save_string;
17                 }
18                 {
19                         uint32_t _flags_save_string = ndr->flags;
20                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
21                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->shell));
22                         ndr->flags = _flags_save_string;
23                 }
24         }
25         if (ndr_flags & NDR_BUFFERS) {
26         }
27         return NDR_ERR_SUCCESS;
28 }
29
30 static enum ndr_err_code ndr_pull_unixinfo_GetPWUidInfo(struct ndr_pull *ndr, int ndr_flags, struct unixinfo_GetPWUidInfo *r)
31 {
32         if (ndr_flags & NDR_SCALARS) {
33                 NDR_CHECK(ndr_pull_align(ndr, 4));
34                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
35                 {
36                         uint32_t _flags_save_string = ndr->flags;
37                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
38                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->homedir));
39                         ndr->flags = _flags_save_string;
40                 }
41                 {
42                         uint32_t _flags_save_string = ndr->flags;
43                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
44                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->shell));
45                         ndr->flags = _flags_save_string;
46                 }
47         }
48         if (ndr_flags & NDR_BUFFERS) {
49         }
50         return NDR_ERR_SUCCESS;
51 }
52
53 _PUBLIC_ void ndr_print_unixinfo_GetPWUidInfo(struct ndr_print *ndr, const char *name, const struct unixinfo_GetPWUidInfo *r)
54 {
55         ndr_print_struct(ndr, name, "unixinfo_GetPWUidInfo");
56         ndr->depth++;
57         ndr_print_NTSTATUS(ndr, "status", r->status);
58         ndr_print_string(ndr, "homedir", r->homedir);
59         ndr_print_string(ndr, "shell", r->shell);
60         ndr->depth--;
61 }
62
63 static enum ndr_err_code ndr_push_unixinfo_SidToUid(struct ndr_push *ndr, int flags, const struct unixinfo_SidToUid *r)
64 {
65         if (flags & NDR_IN) {
66                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.sid));
67         }
68         if (flags & NDR_OUT) {
69                 if (r->out.uid == NULL) {
70                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
71                 }
72                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.uid));
73                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
74         }
75         return NDR_ERR_SUCCESS;
76 }
77
78 static enum ndr_err_code ndr_pull_unixinfo_SidToUid(struct ndr_pull *ndr, int flags, struct unixinfo_SidToUid *r)
79 {
80         TALLOC_CTX *_mem_save_uid_0;
81         if (flags & NDR_IN) {
82                 ZERO_STRUCT(r->out);
83
84                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.sid));
85                 NDR_PULL_ALLOC(ndr, r->out.uid);
86                 ZERO_STRUCTP(r->out.uid);
87         }
88         if (flags & NDR_OUT) {
89                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
90                         NDR_PULL_ALLOC(ndr, r->out.uid);
91                 }
92                 _mem_save_uid_0 = NDR_PULL_GET_MEM_CTX(ndr);
93                 NDR_PULL_SET_MEM_CTX(ndr, r->out.uid, LIBNDR_FLAG_REF_ALLOC);
94                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.uid));
95                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uid_0, LIBNDR_FLAG_REF_ALLOC);
96                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
97         }
98         return NDR_ERR_SUCCESS;
99 }
100
101 _PUBLIC_ void ndr_print_unixinfo_SidToUid(struct ndr_print *ndr, const char *name, int flags, const struct unixinfo_SidToUid *r)
102 {
103         ndr_print_struct(ndr, name, "unixinfo_SidToUid");
104         ndr->depth++;
105         if (flags & NDR_SET_VALUES) {
106                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
107         }
108         if (flags & NDR_IN) {
109                 ndr_print_struct(ndr, "in", "unixinfo_SidToUid");
110                 ndr->depth++;
111                 ndr_print_dom_sid(ndr, "sid", &r->in.sid);
112                 ndr->depth--;
113         }
114         if (flags & NDR_OUT) {
115                 ndr_print_struct(ndr, "out", "unixinfo_SidToUid");
116                 ndr->depth++;
117                 ndr_print_ptr(ndr, "uid", r->out.uid);
118                 ndr->depth++;
119                 ndr_print_hyper(ndr, "uid", *r->out.uid);
120                 ndr->depth--;
121                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
122                 ndr->depth--;
123         }
124         ndr->depth--;
125 }
126
127 static enum ndr_err_code ndr_push_unixinfo_UidToSid(struct ndr_push *ndr, int flags, const struct unixinfo_UidToSid *r)
128 {
129         if (flags & NDR_IN) {
130                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.uid));
131         }
132         if (flags & NDR_OUT) {
133                 if (r->out.sid == NULL) {
134                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
135                 }
136                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
137                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
138         }
139         return NDR_ERR_SUCCESS;
140 }
141
142 static enum ndr_err_code ndr_pull_unixinfo_UidToSid(struct ndr_pull *ndr, int flags, struct unixinfo_UidToSid *r)
143 {
144         TALLOC_CTX *_mem_save_sid_0;
145         if (flags & NDR_IN) {
146                 ZERO_STRUCT(r->out);
147
148                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.uid));
149                 NDR_PULL_ALLOC(ndr, r->out.sid);
150                 ZERO_STRUCTP(r->out.sid);
151         }
152         if (flags & NDR_OUT) {
153                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
154                         NDR_PULL_ALLOC(ndr, r->out.sid);
155                 }
156                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
157                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
158                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
159                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
160                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
161         }
162         return NDR_ERR_SUCCESS;
163 }
164
165 _PUBLIC_ void ndr_print_unixinfo_UidToSid(struct ndr_print *ndr, const char *name, int flags, const struct unixinfo_UidToSid *r)
166 {
167         ndr_print_struct(ndr, name, "unixinfo_UidToSid");
168         ndr->depth++;
169         if (flags & NDR_SET_VALUES) {
170                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
171         }
172         if (flags & NDR_IN) {
173                 ndr_print_struct(ndr, "in", "unixinfo_UidToSid");
174                 ndr->depth++;
175                 ndr_print_hyper(ndr, "uid", r->in.uid);
176                 ndr->depth--;
177         }
178         if (flags & NDR_OUT) {
179                 ndr_print_struct(ndr, "out", "unixinfo_UidToSid");
180                 ndr->depth++;
181                 ndr_print_ptr(ndr, "sid", r->out.sid);
182                 ndr->depth++;
183                 ndr_print_dom_sid(ndr, "sid", r->out.sid);
184                 ndr->depth--;
185                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
186                 ndr->depth--;
187         }
188         ndr->depth--;
189 }
190
191 static enum ndr_err_code ndr_push_unixinfo_SidToGid(struct ndr_push *ndr, int flags, const struct unixinfo_SidToGid *r)
192 {
193         if (flags & NDR_IN) {
194                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.sid));
195         }
196         if (flags & NDR_OUT) {
197                 if (r->out.gid == NULL) {
198                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
199                 }
200                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.gid));
201                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
202         }
203         return NDR_ERR_SUCCESS;
204 }
205
206 static enum ndr_err_code ndr_pull_unixinfo_SidToGid(struct ndr_pull *ndr, int flags, struct unixinfo_SidToGid *r)
207 {
208         TALLOC_CTX *_mem_save_gid_0;
209         if (flags & NDR_IN) {
210                 ZERO_STRUCT(r->out);
211
212                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.sid));
213                 NDR_PULL_ALLOC(ndr, r->out.gid);
214                 ZERO_STRUCTP(r->out.gid);
215         }
216         if (flags & NDR_OUT) {
217                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
218                         NDR_PULL_ALLOC(ndr, r->out.gid);
219                 }
220                 _mem_save_gid_0 = NDR_PULL_GET_MEM_CTX(ndr);
221                 NDR_PULL_SET_MEM_CTX(ndr, r->out.gid, LIBNDR_FLAG_REF_ALLOC);
222                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.gid));
223                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gid_0, LIBNDR_FLAG_REF_ALLOC);
224                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
225         }
226         return NDR_ERR_SUCCESS;
227 }
228
229 _PUBLIC_ void ndr_print_unixinfo_SidToGid(struct ndr_print *ndr, const char *name, int flags, const struct unixinfo_SidToGid *r)
230 {
231         ndr_print_struct(ndr, name, "unixinfo_SidToGid");
232         ndr->depth++;
233         if (flags & NDR_SET_VALUES) {
234                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
235         }
236         if (flags & NDR_IN) {
237                 ndr_print_struct(ndr, "in", "unixinfo_SidToGid");
238                 ndr->depth++;
239                 ndr_print_dom_sid(ndr, "sid", &r->in.sid);
240                 ndr->depth--;
241         }
242         if (flags & NDR_OUT) {
243                 ndr_print_struct(ndr, "out", "unixinfo_SidToGid");
244                 ndr->depth++;
245                 ndr_print_ptr(ndr, "gid", r->out.gid);
246                 ndr->depth++;
247                 ndr_print_hyper(ndr, "gid", *r->out.gid);
248                 ndr->depth--;
249                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
250                 ndr->depth--;
251         }
252         ndr->depth--;
253 }
254
255 static enum ndr_err_code ndr_push_unixinfo_GidToSid(struct ndr_push *ndr, int flags, const struct unixinfo_GidToSid *r)
256 {
257         if (flags & NDR_IN) {
258                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.gid));
259         }
260         if (flags & NDR_OUT) {
261                 if (r->out.sid == NULL) {
262                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
263                 }
264                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
265                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
266         }
267         return NDR_ERR_SUCCESS;
268 }
269
270 static enum ndr_err_code ndr_pull_unixinfo_GidToSid(struct ndr_pull *ndr, int flags, struct unixinfo_GidToSid *r)
271 {
272         TALLOC_CTX *_mem_save_sid_0;
273         if (flags & NDR_IN) {
274                 ZERO_STRUCT(r->out);
275
276                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.gid));
277                 NDR_PULL_ALLOC(ndr, r->out.sid);
278                 ZERO_STRUCTP(r->out.sid);
279         }
280         if (flags & NDR_OUT) {
281                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
282                         NDR_PULL_ALLOC(ndr, r->out.sid);
283                 }
284                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
285                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
286                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
287                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
288                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
289         }
290         return NDR_ERR_SUCCESS;
291 }
292
293 _PUBLIC_ void ndr_print_unixinfo_GidToSid(struct ndr_print *ndr, const char *name, int flags, const struct unixinfo_GidToSid *r)
294 {
295         ndr_print_struct(ndr, name, "unixinfo_GidToSid");
296         ndr->depth++;
297         if (flags & NDR_SET_VALUES) {
298                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
299         }
300         if (flags & NDR_IN) {
301                 ndr_print_struct(ndr, "in", "unixinfo_GidToSid");
302                 ndr->depth++;
303                 ndr_print_hyper(ndr, "gid", r->in.gid);
304                 ndr->depth--;
305         }
306         if (flags & NDR_OUT) {
307                 ndr_print_struct(ndr, "out", "unixinfo_GidToSid");
308                 ndr->depth++;
309                 ndr_print_ptr(ndr, "sid", r->out.sid);
310                 ndr->depth++;
311                 ndr_print_dom_sid(ndr, "sid", r->out.sid);
312                 ndr->depth--;
313                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
314                 ndr->depth--;
315         }
316         ndr->depth--;
317 }
318
319 static enum ndr_err_code ndr_push_unixinfo_GetPWUid(struct ndr_push *ndr, int flags, const struct unixinfo_GetPWUid *r)
320 {
321         uint32_t cntr_uids_0;
322         uint32_t cntr_infos_0;
323         if (flags & NDR_IN) {
324                 if (r->in.count == NULL) {
325                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
326                 }
327                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
328                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
329                 for (cntr_uids_0 = 0; cntr_uids_0 < *r->in.count; cntr_uids_0++) {
330                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.uids[cntr_uids_0]));
331                 }
332         }
333         if (flags & NDR_OUT) {
334                 if (r->out.count == NULL) {
335                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
336                 }
337                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
338                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
339                 for (cntr_infos_0 = 0; cntr_infos_0 < *r->out.count; cntr_infos_0++) {
340                         NDR_CHECK(ndr_push_unixinfo_GetPWUidInfo(ndr, NDR_SCALARS, &r->out.infos[cntr_infos_0]));
341                 }
342                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
343         }
344         return NDR_ERR_SUCCESS;
345 }
346
347 static enum ndr_err_code ndr_pull_unixinfo_GetPWUid(struct ndr_pull *ndr, int flags, struct unixinfo_GetPWUid *r)
348 {
349         uint32_t cntr_uids_0;
350         uint32_t cntr_infos_0;
351         TALLOC_CTX *_mem_save_count_0;
352         TALLOC_CTX *_mem_save_uids_0;
353         TALLOC_CTX *_mem_save_infos_0;
354         if (flags & NDR_IN) {
355                 ZERO_STRUCT(r->out);
356
357                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
358                         NDR_PULL_ALLOC(ndr, r->in.count);
359                 }
360                 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
361                 NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
362                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
363                 if (*r->in.count < 0 || *r->in.count > 1023) {
364                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
365                 }
366                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
367                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.uids));
368                 NDR_PULL_ALLOC_N(ndr, r->in.uids, ndr_get_array_size(ndr, &r->in.uids));
369                 _mem_save_uids_0 = NDR_PULL_GET_MEM_CTX(ndr);
370                 NDR_PULL_SET_MEM_CTX(ndr, r->in.uids, 0);
371                 for (cntr_uids_0 = 0; cntr_uids_0 < *r->in.count; cntr_uids_0++) {
372                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.uids[cntr_uids_0]));
373                 }
374                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uids_0, 0);
375                 NDR_PULL_ALLOC(ndr, r->out.count);
376                 *r->out.count = *r->in.count;
377                 if (r->in.uids) {
378                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.uids, *r->in.count));
379                 }
380         }
381         if (flags & NDR_OUT) {
382                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
383                         NDR_PULL_ALLOC(ndr, r->out.count);
384                 }
385                 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
386                 NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
387                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
388                 if (*r->out.count < 0 || *r->out.count > 1023) {
389                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
390                 }
391                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
392                 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.infos));
393                 NDR_PULL_ALLOC_N(ndr, r->out.infos, ndr_get_array_size(ndr, &r->out.infos));
394                 _mem_save_infos_0 = NDR_PULL_GET_MEM_CTX(ndr);
395                 NDR_PULL_SET_MEM_CTX(ndr, r->out.infos, 0);
396                 for (cntr_infos_0 = 0; cntr_infos_0 < *r->out.count; cntr_infos_0++) {
397                         NDR_CHECK(ndr_pull_unixinfo_GetPWUidInfo(ndr, NDR_SCALARS, &r->out.infos[cntr_infos_0]));
398                 }
399                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_infos_0, 0);
400                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
401                 if (r->out.infos) {
402                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.infos, *r->out.count));
403                 }
404         }
405         return NDR_ERR_SUCCESS;
406 }
407
408 _PUBLIC_ void ndr_print_unixinfo_GetPWUid(struct ndr_print *ndr, const char *name, int flags, const struct unixinfo_GetPWUid *r)
409 {
410         uint32_t cntr_uids_0;
411         uint32_t cntr_infos_0;
412         ndr_print_struct(ndr, name, "unixinfo_GetPWUid");
413         ndr->depth++;
414         if (flags & NDR_SET_VALUES) {
415                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
416         }
417         if (flags & NDR_IN) {
418                 ndr_print_struct(ndr, "in", "unixinfo_GetPWUid");
419                 ndr->depth++;
420                 ndr_print_ptr(ndr, "count", r->in.count);
421                 ndr->depth++;
422                 ndr_print_uint32(ndr, "count", *r->in.count);
423                 ndr->depth--;
424                 ndr->print(ndr, "%s: ARRAY(%d)", "uids", *r->in.count);
425                 ndr->depth++;
426                 for (cntr_uids_0=0;cntr_uids_0<*r->in.count;cntr_uids_0++) {
427                         char *idx_0=NULL;
428                         asprintf(&idx_0, "[%d]", cntr_uids_0);
429                         if (idx_0) {
430                                 ndr_print_hyper(ndr, "uids", r->in.uids[cntr_uids_0]);
431                                 free(idx_0);
432                         }
433                 }
434                 ndr->depth--;
435                 ndr->depth--;
436         }
437         if (flags & NDR_OUT) {
438                 ndr_print_struct(ndr, "out", "unixinfo_GetPWUid");
439                 ndr->depth++;
440                 ndr_print_ptr(ndr, "count", r->out.count);
441                 ndr->depth++;
442                 ndr_print_uint32(ndr, "count", *r->out.count);
443                 ndr->depth--;
444                 ndr->print(ndr, "%s: ARRAY(%d)", "infos", *r->out.count);
445                 ndr->depth++;
446                 for (cntr_infos_0=0;cntr_infos_0<*r->out.count;cntr_infos_0++) {
447                         char *idx_0=NULL;
448                         asprintf(&idx_0, "[%d]", cntr_infos_0);
449                         if (idx_0) {
450                                 ndr_print_unixinfo_GetPWUidInfo(ndr, "infos", &r->out.infos[cntr_infos_0]);
451                                 free(idx_0);
452                         }
453                 }
454                 ndr->depth--;
455                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
456                 ndr->depth--;
457         }
458         ndr->depth--;
459 }
460
461 static const struct ndr_interface_call unixinfo_calls[] = {
462         {
463                 "unixinfo_SidToUid",
464                 sizeof(struct unixinfo_SidToUid),
465                 (ndr_push_flags_fn_t) ndr_push_unixinfo_SidToUid,
466                 (ndr_pull_flags_fn_t) ndr_pull_unixinfo_SidToUid,
467                 (ndr_print_function_t) ndr_print_unixinfo_SidToUid,
468                 false,
469         },
470         {
471                 "unixinfo_UidToSid",
472                 sizeof(struct unixinfo_UidToSid),
473                 (ndr_push_flags_fn_t) ndr_push_unixinfo_UidToSid,
474                 (ndr_pull_flags_fn_t) ndr_pull_unixinfo_UidToSid,
475                 (ndr_print_function_t) ndr_print_unixinfo_UidToSid,
476                 false,
477         },
478         {
479                 "unixinfo_SidToGid",
480                 sizeof(struct unixinfo_SidToGid),
481                 (ndr_push_flags_fn_t) ndr_push_unixinfo_SidToGid,
482                 (ndr_pull_flags_fn_t) ndr_pull_unixinfo_SidToGid,
483                 (ndr_print_function_t) ndr_print_unixinfo_SidToGid,
484                 false,
485         },
486         {
487                 "unixinfo_GidToSid",
488                 sizeof(struct unixinfo_GidToSid),
489                 (ndr_push_flags_fn_t) ndr_push_unixinfo_GidToSid,
490                 (ndr_pull_flags_fn_t) ndr_pull_unixinfo_GidToSid,
491                 (ndr_print_function_t) ndr_print_unixinfo_GidToSid,
492                 false,
493         },
494         {
495                 "unixinfo_GetPWUid",
496                 sizeof(struct unixinfo_GetPWUid),
497                 (ndr_push_flags_fn_t) ndr_push_unixinfo_GetPWUid,
498                 (ndr_pull_flags_fn_t) ndr_pull_unixinfo_GetPWUid,
499                 (ndr_print_function_t) ndr_print_unixinfo_GetPWUid,
500                 false,
501         },
502         { NULL, 0, NULL, NULL, NULL, false }
503 };
504
505 static const char * const unixinfo_endpoint_strings[] = {
506         "ncacn_np:[\\pipe\\unixinfo]", 
507         "ncacn_ip_tcp:", 
508         "ncalrpc:", 
509 };
510
511 static const struct ndr_interface_string_array unixinfo_endpoints = {
512         .count  = 3,
513         .names  = unixinfo_endpoint_strings
514 };
515
516 static const char * const unixinfo_authservice_strings[] = {
517         "host", 
518 };
519
520 static const struct ndr_interface_string_array unixinfo_authservices = {
521         .count  = 3,
522         .names  = unixinfo_authservice_strings
523 };
524
525
526 const struct ndr_interface_table ndr_table_unixinfo = {
527         .name           = "unixinfo",
528         .syntax_id      = {
529                 {0x9c54e310,0xa955,0x4885,{0xbd,0x31},{0x78,0x78,0x71,0x47,0xdf,0xa6}},
530                 NDR_UNIXINFO_VERSION
531         },
532         .helpstring     = NDR_UNIXINFO_HELPSTRING,
533         .num_calls      = 5,
534         .calls          = unixinfo_calls,
535         .endpoints      = &unixinfo_endpoints,
536         .authservices   = &unixinfo_authservices
537 };
538