1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_messaging.h"
6 _PUBLIC_
enum ndr_err_code
ndr_push_messaging_rec(struct ndr_push
*ndr
, int ndr_flags
, const struct messaging_rec
*r
)
8 if (ndr_flags
& NDR_SCALARS
) {
9 NDR_CHECK(ndr_push_align(ndr
, 4));
10 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->msg_version
));
11 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->msg_type
));
12 NDR_CHECK(ndr_push_server_id(ndr
, NDR_SCALARS
, &r
->dest
));
13 NDR_CHECK(ndr_push_server_id(ndr
, NDR_SCALARS
, &r
->src
));
14 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->buf
));
16 if (ndr_flags
& NDR_BUFFERS
) {
17 NDR_CHECK(ndr_push_server_id(ndr
, NDR_BUFFERS
, &r
->dest
));
18 NDR_CHECK(ndr_push_server_id(ndr
, NDR_BUFFERS
, &r
->src
));
20 return NDR_ERR_SUCCESS
;
23 _PUBLIC_
enum ndr_err_code
ndr_pull_messaging_rec(struct ndr_pull
*ndr
, int ndr_flags
, struct messaging_rec
*r
)
25 if (ndr_flags
& NDR_SCALARS
) {
26 NDR_CHECK(ndr_pull_align(ndr
, 4));
27 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->msg_version
));
28 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->msg_type
));
29 NDR_CHECK(ndr_pull_server_id(ndr
, NDR_SCALARS
, &r
->dest
));
30 NDR_CHECK(ndr_pull_server_id(ndr
, NDR_SCALARS
, &r
->src
));
31 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->buf
));
33 if (ndr_flags
& NDR_BUFFERS
) {
34 NDR_CHECK(ndr_pull_server_id(ndr
, NDR_BUFFERS
, &r
->dest
));
35 NDR_CHECK(ndr_pull_server_id(ndr
, NDR_BUFFERS
, &r
->src
));
37 return NDR_ERR_SUCCESS
;
40 _PUBLIC_
void ndr_print_messaging_rec(struct ndr_print
*ndr
, const char *name
, const struct messaging_rec
*r
)
42 ndr_print_struct(ndr
, name
, "messaging_rec");
44 ndr_print_uint32(ndr
, "msg_version", r
->msg_version
);
45 ndr_print_uint32(ndr
, "msg_type", r
->msg_type
);
46 ndr_print_server_id(ndr
, "dest", &r
->dest
);
47 ndr_print_server_id(ndr
, "src", &r
->src
);
48 ndr_print_DATA_BLOB(ndr
, "buf", r
->buf
);
52 _PUBLIC_
enum ndr_err_code
ndr_push_messaging_array(struct ndr_push
*ndr
, int ndr_flags
, const struct messaging_array
*r
)
54 uint32_t cntr_messages_0
;
55 if (ndr_flags
& NDR_SCALARS
) {
56 NDR_CHECK(ndr_push_align(ndr
, 4));
57 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_messages
));
58 for (cntr_messages_0
= 0; cntr_messages_0
< r
->num_messages
; cntr_messages_0
++) {
59 NDR_CHECK(ndr_push_messaging_rec(ndr
, NDR_SCALARS
, &r
->messages
[cntr_messages_0
]));
62 if (ndr_flags
& NDR_BUFFERS
) {
63 for (cntr_messages_0
= 0; cntr_messages_0
< r
->num_messages
; cntr_messages_0
++) {
64 NDR_CHECK(ndr_push_messaging_rec(ndr
, NDR_BUFFERS
, &r
->messages
[cntr_messages_0
]));
67 return NDR_ERR_SUCCESS
;
70 _PUBLIC_
enum ndr_err_code
ndr_pull_messaging_array(struct ndr_pull
*ndr
, int ndr_flags
, struct messaging_array
*r
)
72 uint32_t cntr_messages_0
;
73 TALLOC_CTX
*_mem_save_messages_0
;
74 if (ndr_flags
& NDR_SCALARS
) {
75 NDR_CHECK(ndr_pull_align(ndr
, 4));
76 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_messages
));
77 NDR_PULL_ALLOC_N(ndr
, r
->messages
, r
->num_messages
);
78 _mem_save_messages_0
= NDR_PULL_GET_MEM_CTX(ndr
);
79 NDR_PULL_SET_MEM_CTX(ndr
, r
->messages
, 0);
80 for (cntr_messages_0
= 0; cntr_messages_0
< r
->num_messages
; cntr_messages_0
++) {
81 NDR_CHECK(ndr_pull_messaging_rec(ndr
, NDR_SCALARS
, &r
->messages
[cntr_messages_0
]));
83 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_messages_0
, 0);
85 if (ndr_flags
& NDR_BUFFERS
) {
86 _mem_save_messages_0
= NDR_PULL_GET_MEM_CTX(ndr
);
87 NDR_PULL_SET_MEM_CTX(ndr
, r
->messages
, 0);
88 for (cntr_messages_0
= 0; cntr_messages_0
< r
->num_messages
; cntr_messages_0
++) {
89 NDR_CHECK(ndr_pull_messaging_rec(ndr
, NDR_BUFFERS
, &r
->messages
[cntr_messages_0
]));
91 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_messages_0
, 0);
93 return NDR_ERR_SUCCESS
;
96 _PUBLIC_
void ndr_print_messaging_array(struct ndr_print
*ndr
, const char *name
, const struct messaging_array
*r
)
98 uint32_t cntr_messages_0
;
99 ndr_print_struct(ndr
, name
, "messaging_array");
101 ndr_print_uint32(ndr
, "num_messages", r
->num_messages
);
102 ndr
->print(ndr
, "%s: ARRAY(%d)", "messages", (int)r
->num_messages
);
104 for (cntr_messages_0
=0;cntr_messages_0
<r
->num_messages
;cntr_messages_0
++) {
106 if (asprintf(&idx_0
, "[%d]", cntr_messages_0
) != -1) {
107 ndr_print_messaging_rec(ndr
, "messages", &r
->messages
[cntr_messages_0
]);
115 _PUBLIC_
enum ndr_err_code
ndr_push_dbwrap_tdb2_changes(struct ndr_push
*ndr
, int ndr_flags
, const struct dbwrap_tdb2_changes
*r
)
117 uint32_t cntr_keys_0
;
118 if (ndr_flags
& NDR_SCALARS
) {
119 NDR_CHECK(ndr_push_align(ndr
, 4));
120 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, "TDB2", 4, sizeof(uint8_t), CH_DOS
));
121 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
122 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->name
, CH_UTF8
)));
123 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
124 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->name
, CH_UTF8
)));
125 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->name
, ndr_charset_length(r
->name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
126 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->old_seqnum
));
127 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->new_seqnum
));
128 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_changes
));
129 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_keys
));
130 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
131 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->keys
[cntr_keys_0
]));
134 if (ndr_flags
& NDR_BUFFERS
) {
136 return NDR_ERR_SUCCESS
;
139 _PUBLIC_
enum ndr_err_code
ndr_pull_dbwrap_tdb2_changes(struct ndr_pull
*ndr
, int ndr_flags
, struct dbwrap_tdb2_changes
*r
)
141 uint32_t cntr_keys_0
;
142 TALLOC_CTX
*_mem_save_keys_0
;
143 if (ndr_flags
& NDR_SCALARS
) {
144 NDR_CHECK(ndr_pull_align(ndr
, 4));
145 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->magic_string
, 4, sizeof(uint8_t), CH_DOS
));
146 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->magic_version
));
147 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->name
));
148 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->name
));
149 if (ndr_get_array_length(ndr
, &r
->name
) > ndr_get_array_size(ndr
, &r
->name
)) {
150 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->name
), ndr_get_array_length(ndr
, &r
->name
));
152 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->name
), sizeof(uint8_t)));
153 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->name
, ndr_get_array_length(ndr
, &r
->name
), sizeof(uint8_t), CH_UTF8
));
154 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->old_seqnum
));
155 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->new_seqnum
));
156 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_changes
));
157 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_keys
));
158 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
159 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
160 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
161 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
162 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
164 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
166 if (ndr_flags
& NDR_BUFFERS
) {
168 return NDR_ERR_SUCCESS
;
171 _PUBLIC_
void ndr_print_dbwrap_tdb2_changes(struct ndr_print
*ndr
, const char *name
, const struct dbwrap_tdb2_changes
*r
)
173 uint32_t cntr_keys_0
;
174 ndr_print_struct(ndr
, name
, "dbwrap_tdb2_changes");
176 ndr_print_string(ndr
, "magic_string", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?"TDB2":r
->magic_string
);
177 ndr_print_uint32(ndr
, "magic_version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->magic_version
);
178 ndr_print_string(ndr
, "name", r
->name
);
179 ndr_print_uint32(ndr
, "old_seqnum", r
->old_seqnum
);
180 ndr_print_uint32(ndr
, "new_seqnum", r
->new_seqnum
);
181 ndr_print_uint32(ndr
, "num_changes", r
->num_changes
);
182 ndr_print_uint32(ndr
, "num_keys", r
->num_keys
);
183 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
185 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
187 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
188 ndr_print_DATA_BLOB(ndr
, "keys", r
->keys
[cntr_keys_0
]);