1/* parser auto-generated by pidl */ 2 3#include "includes.h" 4#include "librpc/gen_ndr/ndr_perfcount.h" 5 6static enum ndr_err_code ndr_push_SYSTEMTIME(struct ndr_push *ndr, int ndr_flags, const struct SYSTEMTIME *r) 7{ 8 if (ndr_flags & NDR_SCALARS) { 9 NDR_CHECK(ndr_push_align(ndr, 2)); 10 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->year)); 11 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->month)); 12 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->dayofweek)); 13 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->day)); 14 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->hour)); 15 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minute)); 16 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->second)); 17 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->milliseconds)); 18 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 19 } 20 if (ndr_flags & NDR_BUFFERS) { 21 } 22 return NDR_ERR_SUCCESS; 23} 24 25static enum ndr_err_code ndr_pull_SYSTEMTIME(struct ndr_pull *ndr, int ndr_flags, struct SYSTEMTIME *r) 26{ 27 if (ndr_flags & NDR_SCALARS) { 28 NDR_CHECK(ndr_pull_align(ndr, 2)); 29 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->year)); 30 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->month)); 31 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->dayofweek)); 32 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->day)); 33 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->hour)); 34 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minute)); 35 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->second)); 36 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->milliseconds)); 37 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 38 } 39 if (ndr_flags & NDR_BUFFERS) { 40 } 41 return NDR_ERR_SUCCESS; 42} 43 44_PUBLIC_ void ndr_print_SYSTEMTIME(struct ndr_print *ndr, const char *name, const struct SYSTEMTIME *r) 45{ 46 ndr_print_struct(ndr, name, "SYSTEMTIME"); 47 ndr->depth++; 48 ndr_print_uint16(ndr, "year", r->year); 49 ndr_print_uint16(ndr, "month", r->month); 50 ndr_print_uint16(ndr, "dayofweek", r->dayofweek); 51 ndr_print_uint16(ndr, "day", r->day); 52 ndr_print_uint16(ndr, "hour", r->hour); 53 ndr_print_uint16(ndr, "minute", r->minute); 54 ndr_print_uint16(ndr, "second", r->second); 55 ndr_print_uint16(ndr, "milliseconds", r->milliseconds); 56 ndr->depth--; 57} 58 59_PUBLIC_ enum ndr_err_code ndr_push_PERF_COUNTER_DEFINITION(struct ndr_push *ndr, int ndr_flags, const struct PERF_COUNTER_DEFINITION *r) 60{ 61 if (ndr_flags & NDR_SCALARS) { 62 NDR_CHECK(ndr_push_align(ndr, 4)); 63 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ByteLength)); 64 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CounterNameTitleIndex)); 65 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CounterNameTitlePointer)); 66 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CounterHelpTitleIndex)); 67 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CounterHelpTitlePointer)); 68 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DefaultScale)); 69 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DetailLevel)); 70 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CounterType)); 71 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CounterSize)); 72 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CounterOffset)); 73 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 74 } 75 if (ndr_flags & NDR_BUFFERS) { 76 } 77 return NDR_ERR_SUCCESS; 78} 79 80_PUBLIC_ enum ndr_err_code ndr_pull_PERF_COUNTER_DEFINITION(struct ndr_pull *ndr, int ndr_flags, struct PERF_COUNTER_DEFINITION *r) 81{ 82 if (ndr_flags & NDR_SCALARS) { 83 NDR_CHECK(ndr_pull_align(ndr, 4)); 84 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ByteLength)); 85 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CounterNameTitleIndex)); 86 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CounterNameTitlePointer)); 87 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CounterHelpTitleIndex)); 88 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CounterHelpTitlePointer)); 89 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DefaultScale)); 90 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DetailLevel)); 91 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CounterType)); 92 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CounterSize)); 93 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CounterOffset)); 94 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 95 } 96 if (ndr_flags & NDR_BUFFERS) { 97 } 98 return NDR_ERR_SUCCESS; 99} 100 101_PUBLIC_ void ndr_print_PERF_COUNTER_DEFINITION(struct ndr_print *ndr, const char *name, const struct PERF_COUNTER_DEFINITION *r) 102{ 103 ndr_print_struct(ndr, name, "PERF_COUNTER_DEFINITION"); 104 ndr->depth++; 105 ndr_print_uint32(ndr, "ByteLength", r->ByteLength); 106 ndr_print_uint32(ndr, "CounterNameTitleIndex", r->CounterNameTitleIndex); 107 ndr_print_uint32(ndr, "CounterNameTitlePointer", r->CounterNameTitlePointer); 108 ndr_print_uint32(ndr, "CounterHelpTitleIndex", r->CounterHelpTitleIndex); 109 ndr_print_uint32(ndr, "CounterHelpTitlePointer", r->CounterHelpTitlePointer); 110 ndr_print_uint32(ndr, "DefaultScale", r->DefaultScale); 111 ndr_print_uint32(ndr, "DetailLevel", r->DetailLevel); 112 ndr_print_uint32(ndr, "CounterType", r->CounterType); 113 ndr_print_uint32(ndr, "CounterSize", r->CounterSize); 114 ndr_print_uint32(ndr, "CounterOffset", r->CounterOffset); 115 ndr->depth--; 116} 117 118_PUBLIC_ enum ndr_err_code ndr_push_PERF_COUNTER_BLOCK(struct ndr_push *ndr, int ndr_flags, const struct PERF_COUNTER_BLOCK *r) 119{ 120 if (ndr_flags & NDR_SCALARS) { 121 NDR_CHECK(ndr_push_align(ndr, 4)); 122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ByteLength)); 123 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->ByteLength)); 124 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 125 } 126 if (ndr_flags & NDR_BUFFERS) { 127 } 128 return NDR_ERR_SUCCESS; 129} 130 131_PUBLIC_ enum ndr_err_code ndr_pull_PERF_COUNTER_BLOCK(struct ndr_pull *ndr, int ndr_flags, struct PERF_COUNTER_BLOCK *r) 132{ 133 if (ndr_flags & NDR_SCALARS) { 134 NDR_CHECK(ndr_pull_align(ndr, 4)); 135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ByteLength)); 136 NDR_PULL_ALLOC_N(ndr, r->data, r->ByteLength); 137 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, r->ByteLength)); 138 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 139 } 140 if (ndr_flags & NDR_BUFFERS) { 141 } 142 return NDR_ERR_SUCCESS; 143} 144 145_PUBLIC_ void ndr_print_PERF_COUNTER_BLOCK(struct ndr_print *ndr, const char *name, const struct PERF_COUNTER_BLOCK *r) 146{ 147 ndr_print_struct(ndr, name, "PERF_COUNTER_BLOCK"); 148 ndr->depth++; 149 ndr_print_uint32(ndr, "ByteLength", r->ByteLength); 150 ndr_print_array_uint8(ndr, "data", r->data, r->ByteLength); 151 ndr->depth--; 152} 153 154_PUBLIC_ enum ndr_err_code ndr_push_PERF_INSTANCE_DEFINITION(struct ndr_push *ndr, int ndr_flags, const struct PERF_INSTANCE_DEFINITION *r) 155{ 156 if (ndr_flags & NDR_SCALARS) { 157 NDR_CHECK(ndr_push_align(ndr, 5)); 158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ByteLength)); 159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ParentObjectTitleIndex)); 160 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ParentObjectTitlePointer)); 161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->UniqueID)); 162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->NameOffset)); 163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->NameLength)); 164 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); 165 NDR_CHECK(ndr_push_PERF_COUNTER_BLOCK(ndr, NDR_SCALARS, &r->counter_data)); 166 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 167 } 168 if (ndr_flags & NDR_BUFFERS) { 169 if (r->data) { 170 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->data)); 171 } 172 } 173 return NDR_ERR_SUCCESS; 174} 175 176_PUBLIC_ enum ndr_err_code ndr_pull_PERF_INSTANCE_DEFINITION(struct ndr_pull *ndr, int ndr_flags, struct PERF_INSTANCE_DEFINITION *r) 177{ 178 uint32_t _ptr_data; 179 TALLOC_CTX *_mem_save_data_0; 180 if (ndr_flags & NDR_SCALARS) { 181 NDR_CHECK(ndr_pull_align(ndr, 5)); 182 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ByteLength)); 183 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ParentObjectTitleIndex)); 184 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ParentObjectTitlePointer)); 185 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->UniqueID)); 186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->NameOffset)); 187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->NameLength)); 188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); 189 if (_ptr_data) { 190 NDR_PULL_ALLOC(ndr, r->data); 191 } else { 192 r->data = NULL; 193 } 194 NDR_CHECK(ndr_pull_PERF_COUNTER_BLOCK(ndr, NDR_SCALARS, &r->counter_data)); 195 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 196 } 197 if (ndr_flags & NDR_BUFFERS) { 198 if (r->data) { 199 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); 200 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); 201 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->data)); 202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); 203 } 204 } 205 return NDR_ERR_SUCCESS; 206} 207 208_PUBLIC_ void ndr_print_PERF_INSTANCE_DEFINITION(struct ndr_print *ndr, const char *name, const struct PERF_INSTANCE_DEFINITION *r) 209{ 210 ndr_print_struct(ndr, name, "PERF_INSTANCE_DEFINITION"); 211 ndr->depth++; 212 ndr_print_uint32(ndr, "ByteLength", r->ByteLength); 213 ndr_print_uint32(ndr, "ParentObjectTitleIndex", r->ParentObjectTitleIndex); 214 ndr_print_uint32(ndr, "ParentObjectTitlePointer", r->ParentObjectTitlePointer); 215 ndr_print_uint32(ndr, "UniqueID", r->UniqueID); 216 ndr_print_uint32(ndr, "NameOffset", r->NameOffset); 217 ndr_print_uint32(ndr, "NameLength", r->NameLength); 218 ndr_print_ptr(ndr, "data", r->data); 219 ndr->depth++; 220 if (r->data) { 221 ndr_print_uint8(ndr, "data", *r->data); 222 } 223 ndr->depth--; 224 ndr_print_PERF_COUNTER_BLOCK(ndr, "counter_data", &r->counter_data); 225 ndr->depth--; 226} 227 228_PUBLIC_ enum ndr_err_code ndr_push_PERF_OBJECT_TYPE(struct ndr_push *ndr, int ndr_flags, const struct PERF_OBJECT_TYPE *r) 229{ 230 uint32_t cntr_counters_0; 231 uint32_t cntr_instances_0; 232 if (ndr_flags & NDR_SCALARS) { 233 NDR_CHECK(ndr_push_align(ndr, 8)); 234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TotalByteLength)); 235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DefinitionLength)); 236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->HeaderLength)); 237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ObjectNameTitleIndex)); 238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ObjectNameTitlePointer)); 239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ObjectHelpTitleIndex)); 240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ObjectHelpTitlePointer)); 241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DetailLevel)); 242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->NumCounters)); 243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DefaultCounter)); 244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->NumInstances)); 245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CodePage)); 246 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->PerfTime)); 247 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->PerfFreq)); 248 for (cntr_counters_0 = 0; cntr_counters_0 < r->NumCounters; cntr_counters_0++) { 249 NDR_CHECK(ndr_push_PERF_COUNTER_DEFINITION(ndr, NDR_SCALARS, &r->counters[cntr_counters_0])); 250 } 251 for (cntr_instances_0 = 0; cntr_instances_0 < r->NumInstances; cntr_instances_0++) { 252 NDR_CHECK(ndr_push_PERF_INSTANCE_DEFINITION(ndr, NDR_SCALARS, &r->instances[cntr_instances_0])); 253 } 254 NDR_CHECK(ndr_push_PERF_COUNTER_BLOCK(ndr, NDR_SCALARS, &r->counter_data)); 255 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 256 } 257 if (ndr_flags & NDR_BUFFERS) { 258 for (cntr_instances_0 = 0; cntr_instances_0 < r->NumInstances; cntr_instances_0++) { 259 NDR_CHECK(ndr_push_PERF_INSTANCE_DEFINITION(ndr, NDR_BUFFERS, &r->instances[cntr_instances_0])); 260 } 261 } 262 return NDR_ERR_SUCCESS; 263} 264 265_PUBLIC_ enum ndr_err_code ndr_pull_PERF_OBJECT_TYPE(struct ndr_pull *ndr, int ndr_flags, struct PERF_OBJECT_TYPE *r) 266{ 267 uint32_t cntr_counters_0; 268 TALLOC_CTX *_mem_save_counters_0; 269 uint32_t cntr_instances_0; 270 TALLOC_CTX *_mem_save_instances_0; 271 if (ndr_flags & NDR_SCALARS) { 272 NDR_CHECK(ndr_pull_align(ndr, 8)); 273 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TotalByteLength)); 274 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DefinitionLength)); 275 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->HeaderLength)); 276 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ObjectNameTitleIndex)); 277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ObjectNameTitlePointer)); 278 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ObjectHelpTitleIndex)); 279 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ObjectHelpTitlePointer)); 280 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DetailLevel)); 281 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->NumCounters)); 282 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DefaultCounter)); 283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->NumInstances)); 284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CodePage)); 285 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->PerfTime)); 286 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->PerfFreq)); 287 NDR_PULL_ALLOC_N(ndr, r->counters, r->NumCounters); 288 _mem_save_counters_0 = NDR_PULL_GET_MEM_CTX(ndr); 289 NDR_PULL_SET_MEM_CTX(ndr, r->counters, 0); 290 for (cntr_counters_0 = 0; cntr_counters_0 < r->NumCounters; cntr_counters_0++) { 291 NDR_CHECK(ndr_pull_PERF_COUNTER_DEFINITION(ndr, NDR_SCALARS, &r->counters[cntr_counters_0])); 292 } 293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_counters_0, 0); 294 NDR_PULL_ALLOC_N(ndr, r->instances, r->NumInstances); 295 _mem_save_instances_0 = NDR_PULL_GET_MEM_CTX(ndr); 296 NDR_PULL_SET_MEM_CTX(ndr, r->instances, 0); 297 for (cntr_instances_0 = 0; cntr_instances_0 < r->NumInstances; cntr_instances_0++) { 298 NDR_CHECK(ndr_pull_PERF_INSTANCE_DEFINITION(ndr, NDR_SCALARS, &r->instances[cntr_instances_0])); 299 } 300 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_instances_0, 0); 301 NDR_CHECK(ndr_pull_PERF_COUNTER_BLOCK(ndr, NDR_SCALARS, &r->counter_data)); 302 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 303 } 304 if (ndr_flags & NDR_BUFFERS) { 305 _mem_save_instances_0 = NDR_PULL_GET_MEM_CTX(ndr); 306 NDR_PULL_SET_MEM_CTX(ndr, r->instances, 0); 307 for (cntr_instances_0 = 0; cntr_instances_0 < r->NumInstances; cntr_instances_0++) { 308 NDR_CHECK(ndr_pull_PERF_INSTANCE_DEFINITION(ndr, NDR_BUFFERS, &r->instances[cntr_instances_0])); 309 } 310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_instances_0, 0); 311 } 312 return NDR_ERR_SUCCESS; 313} 314 315_PUBLIC_ void ndr_print_PERF_OBJECT_TYPE(struct ndr_print *ndr, const char *name, const struct PERF_OBJECT_TYPE *r) 316{ 317 uint32_t cntr_counters_0; 318 uint32_t cntr_instances_0; 319 ndr_print_struct(ndr, name, "PERF_OBJECT_TYPE"); 320 ndr->depth++; 321 ndr_print_uint32(ndr, "TotalByteLength", r->TotalByteLength); 322 ndr_print_uint32(ndr, "DefinitionLength", r->DefinitionLength); 323 ndr_print_uint32(ndr, "HeaderLength", r->HeaderLength); 324 ndr_print_uint32(ndr, "ObjectNameTitleIndex", r->ObjectNameTitleIndex); 325 ndr_print_uint32(ndr, "ObjectNameTitlePointer", r->ObjectNameTitlePointer); 326 ndr_print_uint32(ndr, "ObjectHelpTitleIndex", r->ObjectHelpTitleIndex); 327 ndr_print_uint32(ndr, "ObjectHelpTitlePointer", r->ObjectHelpTitlePointer); 328 ndr_print_uint32(ndr, "DetailLevel", r->DetailLevel); 329 ndr_print_uint32(ndr, "NumCounters", r->NumCounters); 330 ndr_print_uint32(ndr, "DefaultCounter", r->DefaultCounter); 331 ndr_print_uint32(ndr, "NumInstances", r->NumInstances); 332 ndr_print_uint32(ndr, "CodePage", r->CodePage); 333 ndr_print_hyper(ndr, "PerfTime", r->PerfTime); 334 ndr_print_hyper(ndr, "PerfFreq", r->PerfFreq); 335 ndr->print(ndr, "%s: ARRAY(%d)", "counters", (int)r->NumCounters); 336 ndr->depth++; 337 for (cntr_counters_0=0;cntr_counters_0<r->NumCounters;cntr_counters_0++) { 338 char *idx_0=NULL; 339 if (asprintf(&idx_0, "[%d]", cntr_counters_0) != -1) { 340 ndr_print_PERF_COUNTER_DEFINITION(ndr, "counters", &r->counters[cntr_counters_0]); 341 free(idx_0); 342 } 343 } 344 ndr->depth--; 345 ndr->print(ndr, "%s: ARRAY(%d)", "instances", (int)r->NumInstances); 346 ndr->depth++; 347 for (cntr_instances_0=0;cntr_instances_0<r->NumInstances;cntr_instances_0++) { 348 char *idx_0=NULL; 349 if (asprintf(&idx_0, "[%d]", cntr_instances_0) != -1) { 350 ndr_print_PERF_INSTANCE_DEFINITION(ndr, "instances", &r->instances[cntr_instances_0]); 351 free(idx_0); 352 } 353 } 354 ndr->depth--; 355 ndr_print_PERF_COUNTER_BLOCK(ndr, "counter_data", &r->counter_data); 356 ndr->depth--; 357} 358 359_PUBLIC_ enum ndr_err_code ndr_push_PERF_DATA_BLOCK(struct ndr_push *ndr, int ndr_flags, const struct PERF_DATA_BLOCK *r) 360{ 361 uint32_t cntr_Signature_0; 362 uint32_t cntr_objects_0; 363 if (ndr_flags & NDR_SCALARS) { 364 NDR_CHECK(ndr_push_align(ndr, 8)); 365 for (cntr_Signature_0 = 0; cntr_Signature_0 < 4; cntr_Signature_0++) { 366 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Signature[cntr_Signature_0])); 367 } 368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->LittleEndian)); 369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Version)); 370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Revision)); 371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TotalByteLength)); 372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->HeaderLength)); 373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->NumObjectTypes)); 374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DefaultObject)); 375 NDR_CHECK(ndr_push_SYSTEMTIME(ndr, NDR_SCALARS, &r->SystemTime)); 376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Padding)); 377 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->PerfTime)); 378 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->PerfFreq)); 379 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->PerfTime100nSec)); 380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SystemNameLength)); 381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SystemNameOffset)); 382 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); 383 for (cntr_objects_0 = 0; cntr_objects_0 < r->NumObjectTypes; cntr_objects_0++) { 384 NDR_CHECK(ndr_push_PERF_OBJECT_TYPE(ndr, NDR_SCALARS, &r->objects[cntr_objects_0])); 385 } 386 NDR_CHECK(ndr_push_trailer_align(ndr, 8)); 387 } 388 if (ndr_flags & NDR_BUFFERS) { 389 if (r->data) { 390 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->data)); 391 } 392 for (cntr_objects_0 = 0; cntr_objects_0 < r->NumObjectTypes; cntr_objects_0++) { 393 NDR_CHECK(ndr_push_PERF_OBJECT_TYPE(ndr, NDR_BUFFERS, &r->objects[cntr_objects_0])); 394 } 395 } 396 return NDR_ERR_SUCCESS; 397} 398 399_PUBLIC_ enum ndr_err_code ndr_pull_PERF_DATA_BLOCK(struct ndr_pull *ndr, int ndr_flags, struct PERF_DATA_BLOCK *r) 400{ 401 uint32_t cntr_Signature_0; 402 uint32_t _ptr_data; 403 TALLOC_CTX *_mem_save_data_0; 404 uint32_t cntr_objects_0; 405 TALLOC_CTX *_mem_save_objects_0; 406 if (ndr_flags & NDR_SCALARS) { 407 NDR_CHECK(ndr_pull_align(ndr, 8)); 408 for (cntr_Signature_0 = 0; cntr_Signature_0 < 4; cntr_Signature_0++) { 409 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Signature[cntr_Signature_0])); 410 } 411 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->LittleEndian)); 412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Version)); 413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Revision)); 414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TotalByteLength)); 415 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->HeaderLength)); 416 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->NumObjectTypes)); 417 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DefaultObject)); 418 NDR_CHECK(ndr_pull_SYSTEMTIME(ndr, NDR_SCALARS, &r->SystemTime)); 419 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Padding)); 420 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->PerfTime)); 421 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->PerfFreq)); 422 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->PerfTime100nSec)); 423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SystemNameLength)); 424 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SystemNameOffset)); 425 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); 426 if (_ptr_data) { 427 NDR_PULL_ALLOC(ndr, r->data); 428 } else { 429 r->data = NULL; 430 } 431 NDR_PULL_ALLOC_N(ndr, r->objects, r->NumObjectTypes); 432 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr); 433 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0); 434 for (cntr_objects_0 = 0; cntr_objects_0 < r->NumObjectTypes; cntr_objects_0++) { 435 NDR_CHECK(ndr_pull_PERF_OBJECT_TYPE(ndr, NDR_SCALARS, &r->objects[cntr_objects_0])); 436 } 437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0); 438 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); 439 } 440 if (ndr_flags & NDR_BUFFERS) { 441 if (r->data) { 442 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); 443 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); 444 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->data)); 445 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); 446 } 447 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr); 448 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0); 449 for (cntr_objects_0 = 0; cntr_objects_0 < r->NumObjectTypes; cntr_objects_0++) { 450 NDR_CHECK(ndr_pull_PERF_OBJECT_TYPE(ndr, NDR_BUFFERS, &r->objects[cntr_objects_0])); 451 } 452 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0); 453 } 454 return NDR_ERR_SUCCESS; 455} 456 457_PUBLIC_ void ndr_print_PERF_DATA_BLOCK(struct ndr_print *ndr, const char *name, const struct PERF_DATA_BLOCK *r) 458{ 459 uint32_t cntr_Signature_0; 460 uint32_t cntr_objects_0; 461 ndr_print_struct(ndr, name, "PERF_DATA_BLOCK"); 462 ndr->depth++; 463 ndr->print(ndr, "%s: ARRAY(%d)", "Signature", (int)4); 464 ndr->depth++; 465 for (cntr_Signature_0=0;cntr_Signature_0<4;cntr_Signature_0++) { 466 char *idx_0=NULL; 467 if (asprintf(&idx_0, "[%d]", cntr_Signature_0) != -1) { 468 ndr_print_uint16(ndr, "Signature", r->Signature[cntr_Signature_0]); 469 free(idx_0); 470 } 471 } 472 ndr->depth--; 473 ndr_print_uint32(ndr, "LittleEndian", r->LittleEndian); 474 ndr_print_uint32(ndr, "Version", r->Version); 475 ndr_print_uint32(ndr, "Revision", r->Revision); 476 ndr_print_uint32(ndr, "TotalByteLength", r->TotalByteLength); 477 ndr_print_uint32(ndr, "HeaderLength", r->HeaderLength); 478 ndr_print_uint32(ndr, "NumObjectTypes", r->NumObjectTypes); 479 ndr_print_uint32(ndr, "DefaultObject", r->DefaultObject); 480 ndr_print_SYSTEMTIME(ndr, "SystemTime", &r->SystemTime); 481 ndr_print_uint32(ndr, "Padding", r->Padding); 482 ndr_print_hyper(ndr, "PerfTime", r->PerfTime); 483 ndr_print_hyper(ndr, "PerfFreq", r->PerfFreq); 484 ndr_print_hyper(ndr, "PerfTime100nSec", r->PerfTime100nSec); 485 ndr_print_uint32(ndr, "SystemNameLength", r->SystemNameLength); 486 ndr_print_uint32(ndr, "SystemNameOffset", r->SystemNameOffset); 487 ndr_print_ptr(ndr, "data", r->data); 488 ndr->depth++; 489 if (r->data) { 490 ndr_print_uint8(ndr, "data", *r->data); 491 } 492 ndr->depth--; 493 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->NumObjectTypes); 494 ndr->depth++; 495 for (cntr_objects_0=0;cntr_objects_0<r->NumObjectTypes;cntr_objects_0++) { 496 char *idx_0=NULL; 497 if (asprintf(&idx_0, "[%d]", cntr_objects_0) != -1) { 498 ndr_print_PERF_OBJECT_TYPE(ndr, "objects", &r->objects[cntr_objects_0]); 499 free(idx_0); 500 } 501 } 502 ndr->depth--; 503 ndr->depth--; 504} 505 506