1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_xattr.h"
6 _PUBLIC_
enum ndr_err_code
ndr_push_tdb_xattr(struct ndr_push
*ndr
, int ndr_flags
, const struct tdb_xattr
*r
)
8 if (ndr_flags
& NDR_SCALARS
) {
9 NDR_CHECK(ndr_push_align(ndr
, 4));
11 uint32_t _flags_save_string
= ndr
->flags
;
12 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_UTF8
|LIBNDR_FLAG_STR_NULLTERM
);
13 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->name
));
14 ndr
->flags
= _flags_save_string
;
16 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->value
));
18 if (ndr_flags
& NDR_BUFFERS
) {
20 return NDR_ERR_SUCCESS
;
23 _PUBLIC_
enum ndr_err_code
ndr_pull_tdb_xattr(struct ndr_pull
*ndr
, int ndr_flags
, struct tdb_xattr
*r
)
25 if (ndr_flags
& NDR_SCALARS
) {
26 NDR_CHECK(ndr_pull_align(ndr
, 4));
28 uint32_t _flags_save_string
= ndr
->flags
;
29 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_UTF8
|LIBNDR_FLAG_STR_NULLTERM
);
30 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->name
));
31 ndr
->flags
= _flags_save_string
;
33 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->value
));
35 if (ndr_flags
& NDR_BUFFERS
) {
37 return NDR_ERR_SUCCESS
;
40 _PUBLIC_
void ndr_print_tdb_xattr(struct ndr_print
*ndr
, const char *name
, const struct tdb_xattr
*r
)
42 ndr_print_struct(ndr
, name
, "tdb_xattr");
44 ndr_print_string(ndr
, "name", r
->name
);
45 ndr_print_DATA_BLOB(ndr
, "value", r
->value
);
49 _PUBLIC_
enum ndr_err_code
ndr_push_tdb_xattrs(struct ndr_push
*ndr
, int ndr_flags
, const struct tdb_xattrs
*r
)
51 uint32_t cntr_xattrs_0
;
52 if (ndr_flags
& NDR_SCALARS
) {
53 NDR_CHECK(ndr_push_align(ndr
, 4));
54 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_xattrs
));
55 for (cntr_xattrs_0
= 0; cntr_xattrs_0
< r
->num_xattrs
; cntr_xattrs_0
++) {
56 NDR_CHECK(ndr_push_tdb_xattr(ndr
, NDR_SCALARS
, &r
->xattrs
[cntr_xattrs_0
]));
59 if (ndr_flags
& NDR_BUFFERS
) {
61 return NDR_ERR_SUCCESS
;
64 _PUBLIC_
enum ndr_err_code
ndr_pull_tdb_xattrs(struct ndr_pull
*ndr
, int ndr_flags
, struct tdb_xattrs
*r
)
66 uint32_t cntr_xattrs_0
;
67 TALLOC_CTX
*_mem_save_xattrs_0
;
68 if (ndr_flags
& NDR_SCALARS
) {
69 NDR_CHECK(ndr_pull_align(ndr
, 4));
70 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_xattrs
));
71 NDR_PULL_ALLOC_N(ndr
, r
->xattrs
, r
->num_xattrs
);
72 _mem_save_xattrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
73 NDR_PULL_SET_MEM_CTX(ndr
, r
->xattrs
, 0);
74 for (cntr_xattrs_0
= 0; cntr_xattrs_0
< r
->num_xattrs
; cntr_xattrs_0
++) {
75 NDR_CHECK(ndr_pull_tdb_xattr(ndr
, NDR_SCALARS
, &r
->xattrs
[cntr_xattrs_0
]));
77 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_xattrs_0
, 0);
79 if (ndr_flags
& NDR_BUFFERS
) {
81 return NDR_ERR_SUCCESS
;
84 _PUBLIC_
void ndr_print_tdb_xattrs(struct ndr_print
*ndr
, const char *name
, const struct tdb_xattrs
*r
)
86 uint32_t cntr_xattrs_0
;
87 ndr_print_struct(ndr
, name
, "tdb_xattrs");
89 ndr_print_uint32(ndr
, "num_xattrs", r
->num_xattrs
);
90 ndr
->print(ndr
, "%s: ARRAY(%d)", "xattrs", (int)r
->num_xattrs
);
92 for (cntr_xattrs_0
=0;cntr_xattrs_0
<r
->num_xattrs
;cntr_xattrs_0
++) {
94 if (asprintf(&idx_0
, "[%d]", cntr_xattrs_0
) != -1) {
95 ndr_print_tdb_xattr(ndr
, "xattrs", &r
->xattrs
[cntr_xattrs_0
]);