r25068: Older samba3 DCs will return DCERPC_FAULT_OP_RNG_ERROR for every opcode on the
[Samba.git] / source / librpc / gen_ndr / ndr_messaging.c
blob21aec98a989e86ba33f20d1cbd2e837f94e9dcc1
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "librpc/gen_ndr/ndr_messaging.h"
6 _PUBLIC_ NTSTATUS 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 NT_STATUS_OK;
23 _PUBLIC_ NTSTATUS 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 NT_STATUS_OK;
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");
43 ndr->depth++;
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);
49 ndr->depth--;
52 _PUBLIC_ NTSTATUS 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 NT_STATUS_OK;
70 _PUBLIC_ NTSTATUS 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 NT_STATUS_OK;
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");
100 ndr->depth++;
101 ndr_print_uint32(ndr, "num_messages", r->num_messages);
102 ndr->print(ndr, "%s: ARRAY(%d)", "messages", r->num_messages);
103 ndr->depth++;
104 for (cntr_messages_0=0;cntr_messages_0<r->num_messages;cntr_messages_0++) {
105 char *idx_0=NULL;
106 asprintf(&idx_0, "[%d]", cntr_messages_0);
107 if (idx_0) {
108 ndr_print_messaging_rec(ndr, "messages", &r->messages[cntr_messages_0]);
109 free(idx_0);
112 ndr->depth--;
113 ndr->depth--;