1/* parser auto-generated by pidl */ 2 3#include "includes.h" 4#include "librpc/gen_ndr/ndr_messaging.h" 5 6_PUBLIC_ enum ndr_err_code ndr_push_messaging_type(struct ndr_push *ndr, int ndr_flags, enum messaging_type r) 7{ 8 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); 9 return NDR_ERR_SUCCESS; 10} 11 12_PUBLIC_ enum ndr_err_code ndr_pull_messaging_type(struct ndr_pull *ndr, int ndr_flags, enum messaging_type *r) 13{ 14 uint32_t v; 15 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); 16 *r = v; 17 return NDR_ERR_SUCCESS; 18} 19 20_PUBLIC_ void ndr_print_messaging_type(struct ndr_print *ndr, const char *name, enum messaging_type r) 21{ 22 const char *val = NULL; 23 24 switch (r) { 25 case MSG_DEBUG: val = "MSG_DEBUG"; break; 26 case MSG_PING: val = "MSG_PING"; break; 27 case MSG_PONG: val = "MSG_PONG"; break; 28 case MSG_PROFILE: val = "MSG_PROFILE"; break; 29 case MSG_REQ_DEBUGLEVEL: val = "MSG_REQ_DEBUGLEVEL"; break; 30 case MSG_DEBUGLEVEL: val = "MSG_DEBUGLEVEL"; break; 31 case MSG_REQ_PROFILELEVEL: val = "MSG_REQ_PROFILELEVEL"; break; 32 case MSG_PROFILELEVEL: val = "MSG_PROFILELEVEL"; break; 33 case MSG_REQ_POOL_USAGE: val = "MSG_REQ_POOL_USAGE"; break; 34 case MSG_POOL_USAGE: val = "MSG_POOL_USAGE"; break; 35 case MSG_REQ_DMALLOC_MARK: val = "MSG_REQ_DMALLOC_MARK"; break; 36 case MSG_REQ_DMALLOC_LOG_CHANGED: val = "MSG_REQ_DMALLOC_LOG_CHANGED"; break; 37 case MSG_SHUTDOWN: val = "MSG_SHUTDOWN"; break; 38 case MSG_FORCE_ELECTION: val = "MSG_FORCE_ELECTION"; break; 39 case MSG_WINS_NEW_ENTRY: val = "MSG_WINS_NEW_ENTRY"; break; 40 case MSG_SEND_PACKET: val = "MSG_SEND_PACKET"; break; 41 case MSG_PRINTER_NOTIFY: val = "MSG_PRINTER_NOTIFY"; break; 42 case MSG_PRINTER_NOTIFY2: val = "MSG_PRINTER_NOTIFY2"; break; 43 case MSG_PRINTER_DRVUPGRADE: val = "MSG_PRINTER_DRVUPGRADE"; break; 44 case MSG_PRINTERDATA_INIT_RESET: val = "MSG_PRINTERDATA_INIT_RESET"; break; 45 case MSG_PRINTER_UPDATE: val = "MSG_PRINTER_UPDATE"; break; 46 case MSG_PRINTER_MOD: val = "MSG_PRINTER_MOD"; break; 47 case MSG_SMB_CONF_UPDATED: val = "MSG_SMB_CONF_UPDATED"; break; 48 case MSG_SMB_FORCE_TDIS: val = "MSG_SMB_FORCE_TDIS"; break; 49 case MSG_SMB_SAM_SYNC: val = "MSG_SMB_SAM_SYNC"; break; 50 case MSG_SMB_SAM_REPL: val = "MSG_SMB_SAM_REPL"; break; 51 case MSG_SMB_UNLOCK: val = "MSG_SMB_UNLOCK"; break; 52 case MSG_SMB_BREAK_REQUEST: val = "MSG_SMB_BREAK_REQUEST"; break; 53 case MSG_SMB_BREAK_RESPONSE: val = "MSG_SMB_BREAK_RESPONSE"; break; 54 case MSG_SMB_ASYNC_LEVEL2_BREAK: val = "MSG_SMB_ASYNC_LEVEL2_BREAK"; break; 55 case MSG_SMB_OPEN_RETRY: val = "MSG_SMB_OPEN_RETRY"; break; 56 case MSG_SMB_KERNEL_BREAK: val = "MSG_SMB_KERNEL_BREAK"; break; 57 case MSG_SMB_FILE_RENAME: val = "MSG_SMB_FILE_RENAME"; break; 58 case MSG_SMB_INJECT_FAULT: val = "MSG_SMB_INJECT_FAULT"; break; 59 case MSG_SMB_BLOCKING_LOCK_CANCEL: val = "MSG_SMB_BLOCKING_LOCK_CANCEL"; break; 60 case MSG_SMB_NOTIFY: val = "MSG_SMB_NOTIFY"; break; 61 case MSG_SMB_STAT_CACHE_DELETE: val = "MSG_SMB_STAT_CACHE_DELETE"; break; 62 case MSG_PVFS_NOTIFY: val = "MSG_PVFS_NOTIFY"; break; 63 case MSG_SMB_BRL_VALIDATE: val = "MSG_SMB_BRL_VALIDATE"; break; 64 case MSG_SMB_RELEASE_IP: val = "MSG_SMB_RELEASE_IP"; break; 65 case MSG_SMB_CLOSE_FILE: val = "MSG_SMB_CLOSE_FILE"; break; 66 case MSG_WINBIND_FINISHED: val = "MSG_WINBIND_FINISHED"; break; 67 case MSG_WINBIND_FORGET_STATE: val = "MSG_WINBIND_FORGET_STATE"; break; 68 case MSG_WINBIND_ONLINE: val = "MSG_WINBIND_ONLINE"; break; 69 case MSG_WINBIND_OFFLINE: val = "MSG_WINBIND_OFFLINE"; break; 70 case MSG_WINBIND_ONLINESTATUS: val = "MSG_WINBIND_ONLINESTATUS"; break; 71 case MSG_WINBIND_TRY_TO_GO_ONLINE: val = "MSG_WINBIND_TRY_TO_GO_ONLINE"; break; 72 case MSG_WINBIND_FAILED_TO_GO_ONLINE: val = "MSG_WINBIND_FAILED_TO_GO_ONLINE"; break; 73 case MSG_WINBIND_VALIDATE_CACHE: val = "MSG_WINBIND_VALIDATE_CACHE"; break; 74 case MSG_WINBIND_DUMP_DOMAIN_LIST: val = "MSG_WINBIND_DUMP_DOMAIN_LIST"; break; 75 case MSG_DUMP_EVENT_LIST: val = "MSG_DUMP_EVENT_LIST"; break; 76 case MSG_DBWRAP_TDB2_CHANGES: val = "MSG_DBWRAP_TDB2_CHANGES"; break; 77 case MSG_DBWRAP_G_LOCK_RETRY: val = "MSG_DBWRAP_G_LOCK_RETRY"; break; 78 } 79 ndr_print_enum(ndr, name, "ENUM", val, r); 80} 81 82_PUBLIC_ enum ndr_err_code ndr_push_messaging_rec(struct ndr_push *ndr, int ndr_flags, const struct messaging_rec *r) 83{ 84 if (ndr_flags & NDR_SCALARS) { 85 NDR_CHECK(ndr_push_align(ndr, 4)); 86 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->msg_version)); 87 NDR_CHECK(ndr_push_messaging_type(ndr, NDR_SCALARS, r->msg_type)); 88 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->dest)); 89 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->src)); 90 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->buf)); 91 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 92 } 93 if (ndr_flags & NDR_BUFFERS) { 94 NDR_CHECK(ndr_push_server_id(ndr, NDR_BUFFERS, &r->dest)); 95 NDR_CHECK(ndr_push_server_id(ndr, NDR_BUFFERS, &r->src)); 96 } 97 return NDR_ERR_SUCCESS; 98} 99 100_PUBLIC_ enum ndr_err_code ndr_pull_messaging_rec(struct ndr_pull *ndr, int ndr_flags, struct messaging_rec *r) 101{ 102 if (ndr_flags & NDR_SCALARS) { 103 NDR_CHECK(ndr_pull_align(ndr, 4)); 104 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->msg_version)); 105 NDR_CHECK(ndr_pull_messaging_type(ndr, NDR_SCALARS, &r->msg_type)); 106 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->dest)); 107 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->src)); 108 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->buf)); 109 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 110 } 111 if (ndr_flags & NDR_BUFFERS) { 112 NDR_CHECK(ndr_pull_server_id(ndr, NDR_BUFFERS, &r->dest)); 113 NDR_CHECK(ndr_pull_server_id(ndr, NDR_BUFFERS, &r->src)); 114 } 115 return NDR_ERR_SUCCESS; 116} 117 118_PUBLIC_ void ndr_print_messaging_rec(struct ndr_print *ndr, const char *name, const struct messaging_rec *r) 119{ 120 ndr_print_struct(ndr, name, "messaging_rec"); 121 ndr->depth++; 122 ndr_print_uint32(ndr, "msg_version", r->msg_version); 123 ndr_print_messaging_type(ndr, "msg_type", r->msg_type); 124 ndr_print_server_id(ndr, "dest", &r->dest); 125 ndr_print_server_id(ndr, "src", &r->src); 126 ndr_print_DATA_BLOB(ndr, "buf", r->buf); 127 ndr->depth--; 128} 129 130_PUBLIC_ enum ndr_err_code ndr_push_messaging_array(struct ndr_push *ndr, int ndr_flags, const struct messaging_array *r) 131{ 132 uint32_t cntr_messages_0; 133 if (ndr_flags & NDR_SCALARS) { 134 NDR_CHECK(ndr_push_align(ndr, 4)); 135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_messages)); 136 for (cntr_messages_0 = 0; cntr_messages_0 < r->num_messages; cntr_messages_0++) { 137 NDR_CHECK(ndr_push_messaging_rec(ndr, NDR_SCALARS, &r->messages[cntr_messages_0])); 138 } 139 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 140 } 141 if (ndr_flags & NDR_BUFFERS) { 142 for (cntr_messages_0 = 0; cntr_messages_0 < r->num_messages; cntr_messages_0++) { 143 NDR_CHECK(ndr_push_messaging_rec(ndr, NDR_BUFFERS, &r->messages[cntr_messages_0])); 144 } 145 } 146 return NDR_ERR_SUCCESS; 147} 148 149_PUBLIC_ enum ndr_err_code ndr_pull_messaging_array(struct ndr_pull *ndr, int ndr_flags, struct messaging_array *r) 150{ 151 uint32_t cntr_messages_0; 152 TALLOC_CTX *_mem_save_messages_0; 153 if (ndr_flags & NDR_SCALARS) { 154 NDR_CHECK(ndr_pull_align(ndr, 4)); 155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_messages)); 156 NDR_PULL_ALLOC_N(ndr, r->messages, r->num_messages); 157 _mem_save_messages_0 = NDR_PULL_GET_MEM_CTX(ndr); 158 NDR_PULL_SET_MEM_CTX(ndr, r->messages, 0); 159 for (cntr_messages_0 = 0; cntr_messages_0 < r->num_messages; cntr_messages_0++) { 160 NDR_CHECK(ndr_pull_messaging_rec(ndr, NDR_SCALARS, &r->messages[cntr_messages_0])); 161 } 162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_messages_0, 0); 163 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 164 } 165 if (ndr_flags & NDR_BUFFERS) { 166 _mem_save_messages_0 = NDR_PULL_GET_MEM_CTX(ndr); 167 NDR_PULL_SET_MEM_CTX(ndr, r->messages, 0); 168 for (cntr_messages_0 = 0; cntr_messages_0 < r->num_messages; cntr_messages_0++) { 169 NDR_CHECK(ndr_pull_messaging_rec(ndr, NDR_BUFFERS, &r->messages[cntr_messages_0])); 170 } 171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_messages_0, 0); 172 } 173 return NDR_ERR_SUCCESS; 174} 175 176_PUBLIC_ void ndr_print_messaging_array(struct ndr_print *ndr, const char *name, const struct messaging_array *r) 177{ 178 uint32_t cntr_messages_0; 179 ndr_print_struct(ndr, name, "messaging_array"); 180 ndr->depth++; 181 ndr_print_uint32(ndr, "num_messages", r->num_messages); 182 ndr->print(ndr, "%s: ARRAY(%d)", "messages", (int)r->num_messages); 183 ndr->depth++; 184 for (cntr_messages_0=0;cntr_messages_0<r->num_messages;cntr_messages_0++) { 185 char *idx_0=NULL; 186 if (asprintf(&idx_0, "[%d]", cntr_messages_0) != -1) { 187 ndr_print_messaging_rec(ndr, "messages", &r->messages[cntr_messages_0]); 188 free(idx_0); 189 } 190 } 191 ndr->depth--; 192 ndr->depth--; 193} 194 195_PUBLIC_ enum ndr_err_code ndr_push_dbwrap_tdb2_changes(struct ndr_push *ndr, int ndr_flags, const struct dbwrap_tdb2_changes *r) 196{ 197 uint32_t cntr_keys_0; 198 if (ndr_flags & NDR_SCALARS) { 199 NDR_CHECK(ndr_push_align(ndr, 4)); 200 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "TDB2", 4, sizeof(uint8_t), CH_DOS)); 201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1)); 202 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8))); 203 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); 204 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8))); 205 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); 206 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->old_seqnum)); 207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->new_seqnum)); 208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_changes)); 209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_keys)); 210 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 211 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->keys[cntr_keys_0])); 212 } 213 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 214 } 215 if (ndr_flags & NDR_BUFFERS) { 216 } 217 return NDR_ERR_SUCCESS; 218} 219 220_PUBLIC_ enum ndr_err_code ndr_pull_dbwrap_tdb2_changes(struct ndr_pull *ndr, int ndr_flags, struct dbwrap_tdb2_changes *r) 221{ 222 uint32_t cntr_keys_0; 223 TALLOC_CTX *_mem_save_keys_0; 224 if (ndr_flags & NDR_SCALARS) { 225 NDR_CHECK(ndr_pull_align(ndr, 4)); 226 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic_string, 4, sizeof(uint8_t), CH_DOS)); 227 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->magic_version)); 228 NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); 229 NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); 230 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { 231 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)); 232 } 233 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t))); 234 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8)); 235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->old_seqnum)); 236 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->new_seqnum)); 237 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_changes)); 238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_keys)); 239 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys); 240 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); 241 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); 242 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { 243 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); 244 } 245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); 246 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 247 } 248 if (ndr_flags & NDR_BUFFERS) { 249 } 250 return NDR_ERR_SUCCESS; 251} 252 253_PUBLIC_ void ndr_print_dbwrap_tdb2_changes(struct ndr_print *ndr, const char *name, const struct dbwrap_tdb2_changes *r) 254{ 255 uint32_t cntr_keys_0; 256 ndr_print_struct(ndr, name, "dbwrap_tdb2_changes"); 257 ndr->depth++; 258 ndr_print_string(ndr, "magic_string", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"TDB2":r->magic_string); 259 ndr_print_uint32(ndr, "magic_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->magic_version); 260 ndr_print_string(ndr, "name", r->name); 261 ndr_print_uint32(ndr, "old_seqnum", r->old_seqnum); 262 ndr_print_uint32(ndr, "new_seqnum", r->new_seqnum); 263 ndr_print_uint32(ndr, "num_changes", r->num_changes); 264 ndr_print_uint32(ndr, "num_keys", r->num_keys); 265 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys); 266 ndr->depth++; 267 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) { 268 char *idx_0=NULL; 269 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) { 270 ndr_print_DATA_BLOB(ndr, "keys", r->keys[cntr_keys_0]); 271 free(idx_0); 272 } 273 } 274 ndr->depth--; 275 ndr->depth--; 276} 277 278