LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_drsuapi.c (source / functions) Hit Total Coverage
Test: coverage report for abartlet/fix-coverage dd10fb34 Lines: 5100 12570 40.6 %
Date: 2021-09-23 10:06:22 Functions: 268 620 43.2 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_drsuapi.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_security.h"
       7             : #include "librpc/gen_ndr/ndr_misc.h"
       8             : #include "librpc/gen_ndr/ndr_lsa.h"
       9             : #include "librpc/gen_ndr/ndr_samr.h"
      10             : #include "librpc/ndr/ndr_compression.h"
      11       72810 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
      12             : {
      13       72810 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
      14       72810 :         return NDR_ERR_SUCCESS;
      15             : }
      16             : 
      17       94088 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
      18             : {
      19             :         uint32_t v;
      20       94088 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
      21       94088 :         *r = v;
      22       94088 :         return NDR_ERR_SUCCESS;
      23             : }
      24             : 
      25          60 : _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
      26             : {
      27          60 :         ndr_print_uint32(ndr, name, r);
      28          60 :         ndr->depth++;
      29          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
      30          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
      31          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r);
      32          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
      33          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
      34          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
      35          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
      36          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
      37          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
      38          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
      39          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
      40          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
      41          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
      42          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
      43          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
      44          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
      45          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
      46          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NONGC_RO_REP", DRSUAPI_DRS_NONGC_RO_REP, r);
      47          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r);
      48          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
      49          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
      50          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
      51          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS, r);
      52          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
      53          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE, r);
      54          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT, r);
      55          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
      56          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD, r);
      57          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED, r);
      58          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
      59          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW, r);
      60          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED, r);
      61          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
      62          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
      63          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
      64          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r);
      65          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r);
      66          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r);
      67          60 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r);
      68          60 :         ndr->depth--;
      69          60 : }
      70             : 
      71        6811 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsMoreOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
      72             : {
      73        6811 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
      74        6811 :         return NDR_ERR_SUCCESS;
      75             : }
      76             : 
      77        6811 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsMoreOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
      78             : {
      79             :         uint32_t v;
      80        6811 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
      81        6811 :         *r = v;
      82        6811 :         return NDR_ERR_SUCCESS;
      83             : }
      84             : 
      85           0 : _PUBLIC_ void ndr_print_drsuapi_DrsMoreOptions(struct ndr_print *ndr, const char *name, uint32_t r)
      86             : {
      87           0 :         ndr_print_uint32(ndr, name, r);
      88           0 :         ndr->depth++;
      89           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_TGT", DRSUAPI_DRS_GET_TGT, r);
      90           0 :         ndr->depth--;
      91           0 : }
      92             : 
      93           0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsUpdate(struct ndr_push *ndr, int ndr_flags, uint32_t r)
      94             : {
      95           0 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
      96           0 :         return NDR_ERR_SUCCESS;
      97             : }
      98             : 
      99           0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsUpdate(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     100             : {
     101             :         uint32_t v;
     102           0 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     103           0 :         *r = v;
     104           0 :         return NDR_ERR_SUCCESS;
     105             : }
     106             : 
     107           0 : _PUBLIC_ void ndr_print_drsuapi_DrsUpdate(struct ndr_print *ndr, const char *name, uint32_t r)
     108             : {
     109           0 :         ndr_print_uint32(ndr, name, r);
     110           0 :         ndr->depth++;
     111           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_FLAGS", DRSUAPI_DRS_UPDATE_FLAGS, r);
     112           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_ADDRESS", DRSUAPI_DRS_UPDATE_ADDRESS, r);
     113           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_SCHEDULE", DRSUAPI_DRS_UPDATE_SCHEDULE, r);
     114           0 :         ndr->depth--;
     115           0 : }
     116             : 
     117        3541 : static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     118             : {
     119        3650 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     120        3541 :         return NDR_ERR_SUCCESS;
     121             : }
     122             : 
     123        3429 : static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     124             : {
     125             :         uint32_t v;
     126        3524 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     127        3524 :         *r = v;
     128        3429 :         return NDR_ERR_SUCCESS;
     129             : }
     130             : 
     131         352 : _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
     132             : {
     133         352 :         ndr_print_uint32(ndr, name, r);
     134         352 :         ndr->depth++;
     135         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
     136         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
     137         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
     138         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
     139         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
     140         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
     141         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
     142         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY, r);
     143         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
     144         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
     145         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
     146         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
     147         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD", DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD, r);
     148         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
     149         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
     150         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
     151         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
     152         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
     153         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
     154         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
     155         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5, r);
     156         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
     157         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
     158         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
     159         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
     160         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
     161         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
     162         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
     163         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
     164         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
     165         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
     166         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10, r);
     167         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2, r);
     168         352 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3, r);
     169         352 :         ndr->depth--;
     170         352 : }
     171             : 
     172           9 : static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     173             : {
     174           9 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     175           9 :         return NDR_ERR_SUCCESS;
     176             : }
     177             : 
     178           7 : static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     179             : {
     180             :         uint32_t v;
     181           7 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     182           7 :         *r = v;
     183           7 :         return NDR_ERR_SUCCESS;
     184             : }
     185             : 
     186           0 : _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
     187             : {
     188           0 :         ndr_print_uint32(ndr, name, r);
     189           0 :         ndr->depth++;
     190           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
     191           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
     192           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN, r);
     193           0 :         ndr->depth--;
     194           0 : }
     195             : 
     196           0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
     197             : {
     198           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     199           0 :         if (ndr_flags & NDR_SCALARS) {
     200           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     201           0 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
     202           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
     203           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
     204           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     205             :         }
     206           0 :         if (ndr_flags & NDR_BUFFERS) {
     207             :         }
     208           0 :         return NDR_ERR_SUCCESS;
     209             : }
     210             : 
     211           0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
     212             : {
     213           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     214           0 :         if (ndr_flags & NDR_SCALARS) {
     215           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     216           0 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
     217           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
     218           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
     219           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     220             :         }
     221           0 :         if (ndr_flags & NDR_BUFFERS) {
     222             :         }
     223           0 :         return NDR_ERR_SUCCESS;
     224             : }
     225             : 
     226           0 : static void ndr_print_flags_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo24 *r)
     227             : {
     228           0 :         ndr_print_drsuapi_DsBindInfo24(ndr, name, r);
     229           0 : }
     230             : 
     231           0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
     232             : {
     233           0 :         ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
     234           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     235           0 :         ndr->depth++;
     236           0 :         ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
     237           0 :         ndr_print_GUID(ndr, "site_guid", &r->site_guid);
     238           0 :         ndr_print_uint32(ndr, "pid", r->pid);
     239           0 :         ndr->depth--;
     240             : }
     241             : 
     242        3641 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
     243             : {
     244        3641 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     245        3641 :         if (ndr_flags & NDR_SCALARS) {
     246        3641 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     247        3750 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
     248        3641 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
     249        3641 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
     250        3641 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
     251        3641 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     252             :         }
     253        3532 :         if (ndr_flags & NDR_BUFFERS) {
     254             :         }
     255        3641 :         return NDR_ERR_SUCCESS;
     256             : }
     257             : 
     258        3517 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
     259             : {
     260        3517 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     261        3517 :         if (ndr_flags & NDR_SCALARS) {
     262        3517 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     263        3612 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
     264        3517 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
     265        3517 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
     266        3517 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
     267        3517 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     268             :         }
     269        3422 :         if (ndr_flags & NDR_BUFFERS) {
     270             :         }
     271        3517 :         return NDR_ERR_SUCCESS;
     272             : }
     273             : 
     274           0 : static void ndr_print_flags_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo28 *r)
     275             : {
     276           0 :         ndr_print_drsuapi_DsBindInfo28(ndr, name, r);
     277           0 : }
     278             : 
     279         352 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
     280             : {
     281         352 :         ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
     282         352 :         if (r == NULL) { ndr_print_null(ndr); return; }
     283         352 :         ndr->depth++;
     284         352 :         ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
     285         352 :         ndr_print_GUID(ndr, "site_guid", &r->site_guid);
     286         352 :         ndr_print_uint32(ndr, "pid", r->pid);
     287         352 :         ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
     288         352 :         ndr->depth--;
     289             : }
     290             : 
     291           0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo32(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo32 *r)
     292             : {
     293           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     294           0 :         if (ndr_flags & NDR_SCALARS) {
     295           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     296           0 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
     297           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
     298           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
     299           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
     300           0 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
     301           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     302             :         }
     303           0 :         if (ndr_flags & NDR_BUFFERS) {
     304             :         }
     305           0 :         return NDR_ERR_SUCCESS;
     306             : }
     307             : 
     308           0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo32(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo32 *r)
     309             : {
     310           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     311           0 :         if (ndr_flags & NDR_SCALARS) {
     312           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     313           0 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
     314           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
     315           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
     316           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
     317           0 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
     318           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     319             :         }
     320           0 :         if (ndr_flags & NDR_BUFFERS) {
     321             :         }
     322           0 :         return NDR_ERR_SUCCESS;
     323             : }
     324             : 
     325           0 : static void ndr_print_flags_drsuapi_DsBindInfo32(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo32 *r)
     326             : {
     327           0 :         ndr_print_drsuapi_DsBindInfo32(ndr, name, r);
     328           0 : }
     329             : 
     330           0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo32(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo32 *r)
     331             : {
     332           0 :         ndr_print_struct(ndr, name, "drsuapi_DsBindInfo32");
     333           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     334           0 :         ndr->depth++;
     335           0 :         ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
     336           0 :         ndr_print_GUID(ndr, "site_guid", &r->site_guid);
     337           0 :         ndr_print_uint32(ndr, "pid", r->pid);
     338           0 :         ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
     339           0 :         ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
     340           0 :         ndr->depth--;
     341             : }
     342             : 
     343           9 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
     344             : {
     345           9 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     346           9 :         if (ndr_flags & NDR_SCALARS) {
     347           9 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     348           9 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
     349           9 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
     350           9 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
     351           9 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
     352           9 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
     353           9 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
     354           9 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     355             :         }
     356           9 :         if (ndr_flags & NDR_BUFFERS) {
     357             :         }
     358           9 :         return NDR_ERR_SUCCESS;
     359             : }
     360             : 
     361           7 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
     362             : {
     363           7 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     364           7 :         if (ndr_flags & NDR_SCALARS) {
     365           7 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     366           7 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
     367           7 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
     368           7 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
     369           7 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
     370           7 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
     371           7 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
     372           7 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     373             :         }
     374           7 :         if (ndr_flags & NDR_BUFFERS) {
     375             :         }
     376           7 :         return NDR_ERR_SUCCESS;
     377             : }
     378             : 
     379           0 : static void ndr_print_flags_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo48 *r)
     380             : {
     381           0 :         ndr_print_drsuapi_DsBindInfo48(ndr, name, r);
     382           0 : }
     383             : 
     384           0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
     385             : {
     386           0 :         ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
     387           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     388           0 :         ndr->depth++;
     389           0 :         ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
     390           0 :         ndr_print_GUID(ndr, "site_guid", &r->site_guid);
     391           0 :         ndr_print_uint32(ndr, "pid", r->pid);
     392           0 :         ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
     393           0 :         ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
     394           0 :         ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
     395           0 :         ndr->depth--;
     396             : }
     397             : 
     398           0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo52(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo52 *r)
     399             : {
     400           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     401           0 :         if (ndr_flags & NDR_SCALARS) {
     402           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     403           0 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
     404           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
     405           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
     406           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
     407           0 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
     408           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
     409           0 :                 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_capabilities_ext));
     410           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     411             :         }
     412           0 :         if (ndr_flags & NDR_BUFFERS) {
     413             :         }
     414           0 :         return NDR_ERR_SUCCESS;
     415             : }
     416             : 
     417           0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo52(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo52 *r)
     418             : {
     419           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     420           0 :         if (ndr_flags & NDR_SCALARS) {
     421           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     422           0 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
     423           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
     424           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
     425           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
     426           0 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
     427           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
     428           0 :                 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_capabilities_ext));
     429           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     430             :         }
     431           0 :         if (ndr_flags & NDR_BUFFERS) {
     432             :         }
     433           0 :         return NDR_ERR_SUCCESS;
     434             : }
     435             : 
     436           0 : static void ndr_print_flags_drsuapi_DsBindInfo52(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo52 *r)
     437             : {
     438           0 :         ndr_print_drsuapi_DsBindInfo52(ndr, name, r);
     439           0 : }
     440             : 
     441           0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo52(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo52 *r)
     442             : {
     443           0 :         ndr_print_struct(ndr, name, "drsuapi_DsBindInfo52");
     444           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     445           0 :         ndr->depth++;
     446           0 :         ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
     447           0 :         ndr_print_GUID(ndr, "site_guid", &r->site_guid);
     448           0 :         ndr_print_uint32(ndr, "pid", r->pid);
     449           0 :         ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
     450           0 :         ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
     451           0 :         ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
     452           0 :         ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_capabilities_ext", r->supported_capabilities_ext);
     453           0 :         ndr->depth--;
     454             : }
     455             : 
     456           0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
     457             : {
     458           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     459           0 :         if (ndr_flags & NDR_SCALARS) {
     460           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     461             :                 {
     462           0 :                         uint32_t _flags_save_DATA_BLOB = ndr->flags;
     463           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     464           0 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
     465           0 :                         ndr->flags = _flags_save_DATA_BLOB;
     466             :                 }
     467           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     468             :         }
     469           0 :         if (ndr_flags & NDR_BUFFERS) {
     470             :         }
     471           0 :         return NDR_ERR_SUCCESS;
     472             : }
     473             : 
     474           0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
     475             : {
     476           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     477           0 :         if (ndr_flags & NDR_SCALARS) {
     478           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     479             :                 {
     480           0 :                         uint32_t _flags_save_DATA_BLOB = ndr->flags;
     481           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     482           0 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
     483           0 :                         ndr->flags = _flags_save_DATA_BLOB;
     484             :                 }
     485           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     486             :         }
     487           0 :         if (ndr_flags & NDR_BUFFERS) {
     488             :         }
     489           0 :         return NDR_ERR_SUCCESS;
     490             : }
     491             : 
     492           0 : static void ndr_print_flags_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfoFallBack *r)
     493             : {
     494           0 :         ndr_print_drsuapi_DsBindInfoFallBack(ndr, name, r);
     495           0 : }
     496             : 
     497           0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
     498             : {
     499           0 :         ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
     500           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     501           0 :         ndr->depth++;
     502             :         {
     503           0 :                 uint32_t _flags_save_DATA_BLOB = ndr->flags;
     504           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     505           0 :                 ndr_print_DATA_BLOB(ndr, "info", r->info);
     506           0 :                 ndr->flags = _flags_save_DATA_BLOB;
     507             :         }
     508           0 :         ndr->depth--;
     509             : }
     510             : 
     511        3650 : static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
     512             : {
     513             :         {
     514        3650 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     515        3650 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
     516        3650 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     517        3650 :                 if (ndr_flags & NDR_SCALARS) {
     518        3650 :                         NDR_CHECK(ndr_push_align(ndr, 5));
     519        3650 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
     520        3650 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
     521        3650 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
     522        3650 :                         NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
     523        3650 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     524             :                 }
     525        3541 :                 if (ndr_flags & NDR_BUFFERS) {
     526             :                 }
     527        3650 :                 ndr->flags = _flags_save_STRUCT;
     528             :         }
     529        3650 :         return NDR_ERR_SUCCESS;
     530             : }
     531             : 
     532        3524 : static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
     533             : {
     534             :         {
     535        3524 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     536        3524 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
     537        3524 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     538        3524 :                 if (ndr_flags & NDR_SCALARS) {
     539        3524 :                         NDR_CHECK(ndr_pull_align(ndr, 5));
     540        3524 :                         NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length));
     541        3524 :                         if (r->length < 1 || r->length > 10000) {
     542           0 :                                 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
     543             :                         }
     544        3524 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_length));
     545        3524 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
     546        3524 :                         NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
     547        3524 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     548             :                 }
     549        3429 :                 if (ndr_flags & NDR_BUFFERS) {
     550             :                 }
     551        3524 :                 ndr->flags = _flags_save_STRUCT;
     552             :         }
     553        3524 :         return NDR_ERR_SUCCESS;
     554             : }
     555             : 
     556         352 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
     557             : {
     558         352 :         ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
     559         352 :         if (r == NULL) { ndr_print_null(ndr); return; }
     560             :         {
     561         352 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     562         352 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
     563         352 :                 ndr->depth++;
     564         352 :                 ndr_print_uint3264(ndr, "length", r->length);
     565         352 :                 ndr_print_uint32(ndr, "__ndr_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->__ndr_length);
     566         352 :                 ndr_print_set_switch_value(ndr, &r->info, r->length);
     567         352 :                 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
     568         352 :                 ndr->depth--;
     569         352 :                 ndr->flags = _flags_save_STRUCT;
     570             :         }
     571             : }
     572             : 
     573     1519805 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
     574             : {
     575     1519805 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     576     1519805 :         if (ndr_flags & NDR_SCALARS) {
     577     1519805 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
     578     1519805 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     579     1519805 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags) - 4));
     580     1519805 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
     581     1519805 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
     582     1519805 :                 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
     583     1519805 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
     584     1519805 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
     585     1519805 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     586             :         }
     587     1519805 :         if (ndr_flags & NDR_BUFFERS) {
     588     1519805 :                 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
     589             :         }
     590     1519803 :         return NDR_ERR_SUCCESS;
     591             : }
     592             : 
     593      504133 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
     594             : {
     595      504133 :         uint32_t size_dn_0 = 0;
     596      504133 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     597      504133 :         if (ndr_flags & NDR_SCALARS) {
     598      504133 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
     599      504133 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     600      504133 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
     601      504133 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
     602      504133 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
     603      504133 :                 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
     604      504133 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
     605      504133 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->dn, &size_dn_0));
     606      504133 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
     607      504133 :                 if (r->dn) {
     608      504133 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
     609             :                 }
     610      504133 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     611             :         }
     612      504133 :         if (ndr_flags & NDR_BUFFERS) {
     613      504133 :                 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
     614             :         }
     615      504128 :         return NDR_ERR_SUCCESS;
     616             : }
     617             : 
     618           0 : static void ndr_print_flags_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectIdentifier *r)
     619             : {
     620           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, name, r);
     621           0 : }
     622             : 
     623       14936 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
     624             : {
     625       14936 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
     626       14936 :         if (r == NULL) { ndr_print_null(ndr); return; }
     627       14936 :         ndr->depth++;
     628       14936 :         ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags) - 4:r->__ndr_size);
     629       14936 :         ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
     630       14936 :         ndr_print_GUID(ndr, "guid", &r->guid);
     631       14936 :         ndr_print_dom_sid28(ndr, "sid", &r->sid);
     632       14936 :         ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
     633       14936 :         ndr_print_string(ndr, "dn", r->dn);
     634       14936 :         ndr->depth--;
     635             : }
     636             : 
     637     1519865 : _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, int flags)
     638             : {
     639     1519865 :         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier);
     640             : }
     641             : 
     642       11000 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
     643             : {
     644       11000 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     645       11000 :         if (ndr_flags & NDR_SCALARS) {
     646        5500 :                 if (r->naming_context == NULL) {
     647           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     648             :                 }
     649        5500 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     650        5500 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
     651        5500 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
     652        5500 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns));
     653        5500 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
     654        5500 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     655             :         }
     656       11000 :         if (ndr_flags & NDR_BUFFERS) {
     657        5500 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
     658        5500 :                 if (r->source_dsa_dns) {
     659           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_dns, CH_DOS)));
     660           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     661           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_dns, CH_DOS)));
     662           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_dns, ndr_charset_length(r->source_dsa_dns, CH_DOS), sizeof(uint8_t), CH_DOS));
     663             :                 }
     664             :         }
     665       11000 :         return NDR_ERR_SUCCESS;
     666             : }
     667             : 
     668       11000 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
     669             : {
     670             :         uint32_t _ptr_naming_context;
     671       11000 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
     672             :         uint32_t _ptr_source_dsa_dns;
     673       11000 :         uint32_t size_source_dsa_dns_1 = 0;
     674       11000 :         uint32_t length_source_dsa_dns_1 = 0;
     675       11000 :         TALLOC_CTX *_mem_save_source_dsa_dns_0 = NULL;
     676       11000 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     677       11000 :         if (ndr_flags & NDR_SCALARS) {
     678        5500 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     679        5500 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
     680        5500 :                 if (_ptr_naming_context) {
     681        5500 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
     682             :                 } else {
     683           0 :                         r->naming_context = NULL;
     684             :                 }
     685        5500 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
     686        5500 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns));
     687        5500 :                 if (_ptr_source_dsa_dns) {
     688           0 :                         NDR_PULL_ALLOC(ndr, r->source_dsa_dns);
     689             :                 } else {
     690        5500 :                         r->source_dsa_dns = NULL;
     691             :                 }
     692        5500 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
     693        5500 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     694             :         }
     695       11000 :         if (ndr_flags & NDR_BUFFERS) {
     696        5500 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
     697        5500 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
     698        5500 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
     699        5500 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
     700        5500 :                 if (r->source_dsa_dns) {
     701           0 :                         _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr);
     702           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0);
     703           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_dns));
     704           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_dns));
     705           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_dns, &size_source_dsa_dns_1));
     706           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_dns, &length_source_dsa_dns_1));
     707           0 :                         if (length_source_dsa_dns_1 > size_source_dsa_dns_1) {
     708           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_dns_1, length_source_dsa_dns_1);
     709             :                         }
     710           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_dns_1, sizeof(uint8_t)));
     711           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_dns, length_source_dsa_dns_1, sizeof(uint8_t), CH_DOS));
     712           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0);
     713             :                 }
     714             :         }
     715       11000 :         return NDR_ERR_SUCCESS;
     716             : }
     717             : 
     718           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
     719             : {
     720           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
     721           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     722           0 :         ndr->depth++;
     723           0 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
     724           0 :         ndr->depth++;
     725           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
     726           0 :         ndr->depth--;
     727           0 :         ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
     728           0 :         ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns);
     729           0 :         ndr->depth++;
     730           0 :         if (r->source_dsa_dns) {
     731           0 :                 ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns);
     732             :         }
     733           0 :         ndr->depth--;
     734           0 :         ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
     735           0 :         ndr->depth--;
     736             : }
     737             : 
     738        5500 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
     739             : {
     740             :         uint32_t level;
     741        5500 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     742        5500 :         if (ndr_flags & NDR_SCALARS) {
     743             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     744        5500 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     745        5500 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     746        5500 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
     747        5500 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     748        5500 :                 switch (level) {
     749        5500 :                         case 1: {
     750        5500 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
     751        5500 :                         break; }
     752             : 
     753           0 :                         default:
     754           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
     755             :                 }
     756           0 :         }
     757        5500 :         if (ndr_flags & NDR_BUFFERS) {
     758        5500 :                 if (!(ndr_flags & NDR_SCALARS)) {
     759             :                         /* We didn't get it above, and the token is not needed after this. */
     760           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     761             :                 }
     762        5500 :                 switch (level) {
     763        5500 :                         case 1:
     764        5500 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
     765        5500 :                         break;
     766             : 
     767           0 :                         default:
     768           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
     769             :                 }
     770           0 :         }
     771        5500 :         return NDR_ERR_SUCCESS;
     772             : }
     773             : 
     774        5500 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
     775             : {
     776             :         uint32_t level;
     777             :         uint32_t _level;
     778        5500 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     779        5500 :         if (ndr_flags & NDR_SCALARS) {
     780             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     781        5500 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     782        5500 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     783        5500 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
     784        5500 :                 if (_level != level) {
     785           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
     786             :                 }
     787        5500 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     788        5500 :                 switch (level) {
     789        5500 :                         case 1: {
     790        5500 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
     791        5500 :                         break; }
     792             : 
     793           0 :                         default:
     794           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
     795             :                 }
     796           0 :         }
     797        5500 :         if (ndr_flags & NDR_BUFFERS) {
     798        5500 :                 if (!(ndr_flags & NDR_SCALARS)) {
     799             :                         /* We didn't get it above, and the token is not needed after this. */
     800           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     801             :                 }
     802        5500 :                 switch (level) {
     803        5500 :                         case 1:
     804        5500 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
     805        5500 :                         break;
     806             : 
     807           0 :                         default:
     808           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
     809             :                 }
     810           0 :         }
     811        5500 :         return NDR_ERR_SUCCESS;
     812             : }
     813             : 
     814           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
     815             : {
     816             :         uint32_t level;
     817           0 :         level = ndr_print_steal_switch_value(ndr, r);
     818           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
     819           0 :         switch (level) {
     820           0 :                 case 1:
     821           0 :                         ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
     822           0 :                 break;
     823             : 
     824           0 :                 default:
     825           0 :                         ndr_print_bad_level(ndr, name, level);
     826             :         }
     827           0 : }
     828             : 
     829       94813 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
     830             : {
     831       94813 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     832       94813 :         if (ndr_flags & NDR_SCALARS) {
     833       94813 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     834       94813 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
     835       94813 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
     836       94813 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
     837       94813 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     838             :         }
     839       94713 :         if (ndr_flags & NDR_BUFFERS) {
     840             :         }
     841       94813 :         return NDR_ERR_SUCCESS;
     842             : }
     843             : 
     844      101121 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
     845             : {
     846      101121 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     847      101121 :         if (ndr_flags & NDR_SCALARS) {
     848      101121 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     849      101121 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
     850      101121 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
     851      101121 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
     852      101121 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     853             :         }
     854      101094 :         if (ndr_flags & NDR_BUFFERS) {
     855             :         }
     856      101121 :         return NDR_ERR_SUCCESS;
     857             : }
     858             : 
     859           0 : static void ndr_print_flags_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaHighWaterMark *r)
     860             : {
     861           0 :         ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, name, r);
     862           0 : }
     863             : 
     864         270 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
     865             : {
     866         270 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
     867         270 :         if (r == NULL) { ndr_print_null(ndr); return; }
     868         270 :         ndr->depth++;
     869         270 :         ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
     870         270 :         ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
     871         270 :         ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
     872         270 :         ndr->depth--;
     873             : }
     874             : 
     875       14363 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
     876             : {
     877       14363 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     878       14363 :         if (ndr_flags & NDR_SCALARS) {
     879       14363 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     880       14363 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
     881       14363 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
     882       14363 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     883             :         }
     884       14363 :         if (ndr_flags & NDR_BUFFERS) {
     885             :         }
     886       14363 :         return NDR_ERR_SUCCESS;
     887             : }
     888             : 
     889       12658 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
     890             : {
     891       12658 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     892       12658 :         if (ndr_flags & NDR_SCALARS) {
     893       12658 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     894       12658 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
     895       12658 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
     896       12658 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     897             :         }
     898       12658 :         if (ndr_flags & NDR_BUFFERS) {
     899             :         }
     900       12658 :         return NDR_ERR_SUCCESS;
     901             : }
     902             : 
     903           0 : static void ndr_print_flags_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaCursor *r)
     904             : {
     905           0 :         ndr_print_drsuapi_DsReplicaCursor(ndr, name, r);
     906           0 : }
     907             : 
     908           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
     909             : {
     910           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
     911           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     912           0 :         ndr->depth++;
     913           0 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
     914           0 :         ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
     915           0 :         ndr->depth--;
     916             : }
     917             : 
     918        4971 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
     919             : {
     920             :         uint32_t cntr_cursors_0;
     921        4971 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     922        4971 :         if (ndr_flags & NDR_SCALARS) {
     923        4971 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
     924        4971 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     925        4971 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
     926        4971 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
     927        4971 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
     928        4971 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
     929       17530 :                 for (cntr_cursors_0 = 0; cntr_cursors_0 < (r->count); cntr_cursors_0++) {
     930       12559 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
     931             :                 }
     932        4971 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     933             :         }
     934        4971 :         if (ndr_flags & NDR_BUFFERS) {
     935             :         }
     936        4971 :         return NDR_ERR_SUCCESS;
     937             : }
     938             : 
     939        4971 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
     940             : {
     941        4971 :         uint32_t size_cursors_0 = 0;
     942             :         uint32_t cntr_cursors_0;
     943        4971 :         TALLOC_CTX *_mem_save_cursors_0 = NULL;
     944        4971 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     945        4971 :         if (ndr_flags & NDR_SCALARS) {
     946        4971 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
     947        4971 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     948        4971 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
     949        4971 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
     950        4971 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
     951        4971 :                 if (r->count > 1048576) {
     952           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
     953             :                 }
     954        4971 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
     955        4971 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->cursors, &size_cursors_0));
     956        4971 :                 NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
     957        4971 :                 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
     958        4971 :                 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
     959       17530 :                 for (cntr_cursors_0 = 0; cntr_cursors_0 < (size_cursors_0); cntr_cursors_0++) {
     960       12559 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
     961             :                 }
     962        4971 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
     963        4971 :                 if (r->cursors) {
     964        4971 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->cursors, r->count));
     965             :                 }
     966        4971 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     967             :         }
     968        4971 :         if (ndr_flags & NDR_BUFFERS) {
     969             :         }
     970        4971 :         return NDR_ERR_SUCCESS;
     971             : }
     972             : 
     973           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
     974             : {
     975             :         uint32_t cntr_cursors_0;
     976           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
     977           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     978           0 :         ndr->depth++;
     979           0 :         ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
     980           0 :         ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
     981           0 :         ndr_print_uint32(ndr, "count", r->count);
     982           0 :         ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
     983           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
     984           0 :         ndr->depth++;
     985           0 :         for (cntr_cursors_0 = 0; cntr_cursors_0 < (r->count); cntr_cursors_0++) {
     986           0 :                 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
     987             :         }
     988           0 :         ndr->depth--;
     989           0 :         ndr->depth--;
     990             : }
     991             : 
     992        7266 : static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
     993             : {
     994             :         {
     995        7266 :                 uint32_t _flags_save_ENUM = ndr->flags;
     996        7266 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     997        7266 :                 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
     998        7266 :                 ndr->flags = _flags_save_ENUM;
     999             :         }
    1000        7266 :         return NDR_ERR_SUCCESS;
    1001             : }
    1002             : 
    1003        7266 : static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
    1004             : {
    1005             :         uint32_t v;
    1006             :         {
    1007        7266 :                 uint32_t _flags_save_ENUM = ndr->flags;
    1008        7266 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1009        7266 :                 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    1010        7266 :                 *r = v;
    1011        7266 :                 ndr->flags = _flags_save_ENUM;
    1012             :         }
    1013        7266 :         return NDR_ERR_SUCCESS;
    1014             : }
    1015             : 
    1016          60 : _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
    1017             : {
    1018          60 :         const char *val = NULL;
    1019             : 
    1020             :         {
    1021          60 :                 uint32_t _flags_save_ENUM = ndr->flags;
    1022          60 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1023          60 :                 switch (r) {
    1024           0 :                         case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
    1025           0 :                         case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
    1026           0 :                         case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
    1027           0 :                         case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
    1028           0 :                         case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
    1029           0 :                         case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
    1030          60 :                         case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
    1031           0 :                         case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
    1032             :                 }
    1033          60 :                 ndr_print_enum(ndr, name, "ENUM", val, r);
    1034          60 :                 ndr->flags = _flags_save_ENUM;
    1035             :         }
    1036          60 : }
    1037             : 
    1038       14576 : static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
    1039             : {
    1040             :         {
    1041       14576 :                 uint32_t _flags_save_ENUM = ndr->flags;
    1042       14576 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1043       14576 :                 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    1044       14576 :                 ndr->flags = _flags_save_ENUM;
    1045             :         }
    1046       14576 :         return NDR_ERR_SUCCESS;
    1047             : }
    1048             : 
    1049        7267 : static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
    1050             : {
    1051             :         uint32_t v;
    1052             :         {
    1053        7267 :                 uint32_t _flags_save_ENUM = ndr->flags;
    1054        7267 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1055        7267 :                 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    1056        7267 :                 *r = v;
    1057        7267 :                 ndr->flags = _flags_save_ENUM;
    1058             :         }
    1059        7266 :         return NDR_ERR_SUCCESS;
    1060             : }
    1061             : 
    1062         105 : _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
    1063             : {
    1064         105 :         const char *val = NULL;
    1065             : 
    1066             :         {
    1067         105 :                 uint32_t _flags_save_ENUM = ndr->flags;
    1068         105 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1069         105 :                 switch (r) {
    1070          44 :                         case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
    1071          60 :                         case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
    1072           0 :                         case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
    1073           0 :                         case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
    1074           0 :                         case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
    1075           0 :                         case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
    1076           0 :                         case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
    1077           0 :                         case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
    1078           0 :                         case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
    1079           0 :                         case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
    1080           0 :                         case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
    1081           0 :                         case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
    1082           0 :                         case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
    1083           0 :                         case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
    1084           0 :                         case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
    1085           0 :                         case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
    1086           0 :                         case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
    1087             :                 }
    1088         105 :                 ndr_print_enum(ndr, name, "ENUM", val, r);
    1089         105 :                 ndr->flags = _flags_save_ENUM;
    1090             :         }
    1091         105 : }
    1092             : 
    1093           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
    1094             : {
    1095           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1096           0 :         if (ndr_flags & NDR_SCALARS) {
    1097           0 :                 if (r->naming_context == NULL) {
    1098           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1099             :                 }
    1100           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1101           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
    1102           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    1103           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
    1104           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
    1105           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
    1106           0 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
    1107           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
    1108           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
    1109           0 :                 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
    1110           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
    1111           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1112             :         }
    1113           0 :         if (ndr_flags & NDR_BUFFERS) {
    1114           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    1115           0 :                 if (r->uptodateness_vector) {
    1116           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    1117             :                 }
    1118             :         }
    1119           0 :         return NDR_ERR_SUCCESS;
    1120             : }
    1121             : 
    1122           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
    1123             : {
    1124             :         uint32_t _ptr_naming_context;
    1125           0 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    1126             :         uint32_t _ptr_uptodateness_vector;
    1127           0 :         TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
    1128           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1129           0 :         if (ndr_flags & NDR_SCALARS) {
    1130           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1131           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
    1132           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    1133           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
    1134           0 :                 if (_ptr_naming_context) {
    1135           0 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    1136             :                 } else {
    1137           0 :                         r->naming_context = NULL;
    1138             :                 }
    1139           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
    1140           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
    1141           0 :                 if (_ptr_uptodateness_vector) {
    1142           0 :                         NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
    1143             :                 } else {
    1144           0 :                         r->uptodateness_vector = NULL;
    1145             :                 }
    1146           0 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
    1147           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
    1148           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
    1149           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
    1150           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
    1151           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1152             :         }
    1153           0 :         if (ndr_flags & NDR_BUFFERS) {
    1154           0 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1155           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    1156           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    1157           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    1158           0 :                 if (r->uptodateness_vector) {
    1159           0 :                         _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1160           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
    1161           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    1162           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
    1163             :                 }
    1164             :         }
    1165           0 :         return NDR_ERR_SUCCESS;
    1166             : }
    1167             : 
    1168           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
    1169             : {
    1170           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
    1171           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1172           0 :         ndr->depth++;
    1173           0 :         ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
    1174           0 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
    1175           0 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    1176           0 :         ndr->depth++;
    1177           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    1178           0 :         ndr->depth--;
    1179           0 :         ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
    1180           0 :         ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
    1181           0 :         ndr->depth++;
    1182           0 :         if (r->uptodateness_vector) {
    1183           0 :                 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
    1184             :         }
    1185           0 :         ndr->depth--;
    1186           0 :         ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
    1187           0 :         ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
    1188           0 :         ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
    1189           0 :         ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
    1190           0 :         ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
    1191           0 :         ndr->depth--;
    1192             : }
    1193             : 
    1194     1316116 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
    1195             : {
    1196     1316116 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1197     1316116 :         if (ndr_flags & NDR_SCALARS) {
    1198      658058 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1199      658058 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
    1200      658058 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
    1201      658058 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1202             :         }
    1203     1316116 :         if (ndr_flags & NDR_BUFFERS) {
    1204      658058 :                 if (r->binary_oid) {
    1205      658058 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
    1206      658058 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
    1207             :                 }
    1208             :         }
    1209     1312124 :         return NDR_ERR_SUCCESS;
    1210             : }
    1211             : 
    1212     3205550 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
    1213             : {
    1214             :         uint32_t _ptr_binary_oid;
    1215     3205550 :         uint32_t size_binary_oid_1 = 0;
    1216     3205550 :         TALLOC_CTX *_mem_save_binary_oid_0 = NULL;
    1217     3205550 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1218     3205550 :         if (ndr_flags & NDR_SCALARS) {
    1219     1602775 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1220     1602775 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
    1221     1602775 :                 if (r->length > 10000) {
    1222           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    1223             :                 }
    1224     1602775 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
    1225     1602775 :                 if (_ptr_binary_oid) {
    1226     1602775 :                         NDR_PULL_ALLOC(ndr, r->binary_oid);
    1227             :                 } else {
    1228           0 :                         r->binary_oid = NULL;
    1229             :                 }
    1230     1602775 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1231             :         }
    1232     3205550 :         if (ndr_flags & NDR_BUFFERS) {
    1233     1602775 :                 if (r->binary_oid) {
    1234     1602775 :                         _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1235     1602775 :                         NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
    1236     1602775 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
    1237     1602775 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->binary_oid, &size_binary_oid_1));
    1238     1602775 :                         NDR_PULL_ALLOC_N(ndr, r->binary_oid, size_binary_oid_1);
    1239     1602775 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, size_binary_oid_1));
    1240     1602775 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
    1241             :                 }
    1242     1602775 :                 if (r->binary_oid) {
    1243     1602775 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->binary_oid, r->length));
    1244             :                 }
    1245             :         }
    1246     3177552 :         return NDR_ERR_SUCCESS;
    1247             : }
    1248             : 
    1249     1316116 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
    1250             : {
    1251     1316116 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1252     1316116 :         if (ndr_flags & NDR_SCALARS) {
    1253      658058 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1254      658058 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
    1255      658058 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
    1256      658058 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1257             :         }
    1258     1316116 :         if (ndr_flags & NDR_BUFFERS) {
    1259      658058 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
    1260             :         }
    1261     1312124 :         return NDR_ERR_SUCCESS;
    1262             : }
    1263             : 
    1264     3205550 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
    1265             : {
    1266     3205550 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1267     3205550 :         if (ndr_flags & NDR_SCALARS) {
    1268     1602775 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1269     1602775 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
    1270     1602775 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
    1271     1602775 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1272             :         }
    1273     3205550 :         if (ndr_flags & NDR_BUFFERS) {
    1274     1602775 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
    1275             :         }
    1276     3177552 :         return NDR_ERR_SUCCESS;
    1277             : }
    1278             : 
    1279        4434 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
    1280             : {
    1281        4434 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
    1282        4434 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1283        4434 :         ndr->depth++;
    1284        4434 :         ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
    1285        4434 :         ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
    1286        4434 :         ndr->depth--;
    1287             : }
    1288             : 
    1289       45722 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
    1290             : {
    1291             :         uint32_t cntr_mappings_1;
    1292       45722 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1293       45722 :         if (ndr_flags & NDR_SCALARS) {
    1294       22861 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1295       22861 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
    1296       22861 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
    1297       22861 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1298             :         }
    1299       45722 :         if (ndr_flags & NDR_BUFFERS) {
    1300       22861 :                 if (r->mappings) {
    1301       13463 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
    1302      671466 :                         for (cntr_mappings_1 = 0; cntr_mappings_1 < (r->num_mappings); cntr_mappings_1++) {
    1303      658058 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
    1304             :                         }
    1305      671466 :                         for (cntr_mappings_1 = 0; cntr_mappings_1 < (r->num_mappings); cntr_mappings_1++) {
    1306      658058 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
    1307             :                         }
    1308             :                 }
    1309             :         }
    1310       45612 :         return NDR_ERR_SUCCESS;
    1311             : }
    1312             : 
    1313       73192 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
    1314             : {
    1315             :         uint32_t _ptr_mappings;
    1316       73192 :         uint32_t size_mappings_1 = 0;
    1317             :         uint32_t cntr_mappings_1;
    1318       73192 :         TALLOC_CTX *_mem_save_mappings_0 = NULL;
    1319       73192 :         TALLOC_CTX *_mem_save_mappings_1 = NULL;
    1320       73192 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1321       73192 :         if (ndr_flags & NDR_SCALARS) {
    1322       36596 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1323       36596 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
    1324       36596 :                 if (r->num_mappings > 1048576) {
    1325           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    1326             :                 }
    1327       36596 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
    1328       36596 :                 if (_ptr_mappings) {
    1329       29635 :                         NDR_PULL_ALLOC(ndr, r->mappings);
    1330             :                 } else {
    1331        6961 :                         r->mappings = NULL;
    1332             :                 }
    1333       36596 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1334             :         }
    1335       73192 :         if (ndr_flags & NDR_BUFFERS) {
    1336       36596 :                 if (r->mappings) {
    1337       29635 :                         _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1338       29635 :                         NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
    1339       29635 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
    1340       29635 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->mappings, &size_mappings_1));
    1341       29635 :                         NDR_PULL_ALLOC_N(ndr, r->mappings, size_mappings_1);
    1342       29635 :                         _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
    1343       29635 :                         NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
    1344     1632410 :                         for (cntr_mappings_1 = 0; cntr_mappings_1 < (size_mappings_1); cntr_mappings_1++) {
    1345     1602775 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
    1346             :                         }
    1347     1632057 :                         for (cntr_mappings_1 = 0; cntr_mappings_1 < (size_mappings_1); cntr_mappings_1++) {
    1348     1602775 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
    1349             :                         }
    1350       29635 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
    1351       29635 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
    1352             :                 }
    1353       36596 :                 if (r->mappings) {
    1354       29635 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
    1355             :                 }
    1356      438357 :                 for (cntr_mappings_1 = 0; cntr_mappings_1 < (size_mappings_1); cntr_mappings_1++) {
    1357             :                 }
    1358             :         }
    1359       72484 :         return NDR_ERR_SUCCESS;
    1360             : }
    1361             : 
    1362           0 : static void ndr_print_flags_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
    1363             : {
    1364           0 :         ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, name, r);
    1365           0 : }
    1366             : 
    1367         165 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
    1368             : {
    1369             :         uint32_t cntr_mappings_1;
    1370         165 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
    1371         165 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1372         165 :         ndr->depth++;
    1373         165 :         ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
    1374         165 :         ndr_print_ptr(ndr, "mappings", r->mappings);
    1375         165 :         ndr->depth++;
    1376         165 :         if (r->mappings) {
    1377         104 :                 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
    1378         104 :                 ndr->depth++;
    1379        4538 :                 for (cntr_mappings_1 = 0; cntr_mappings_1 < (r->num_mappings); cntr_mappings_1++) {
    1380        4434 :                         ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
    1381             :                 }
    1382         104 :                 ndr->depth--;
    1383             :         }
    1384         165 :         ndr->depth--;
    1385         165 :         ndr->depth--;
    1386             : }
    1387             : 
    1388    35341077 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
    1389             : {
    1390             :         {
    1391    35341077 :                 uint32_t _flags_save_ENUM = ndr->flags;
    1392    35341077 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1393    35341077 :                 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    1394    35341077 :                 ndr->flags = _flags_save_ENUM;
    1395             :         }
    1396    35341077 :         return NDR_ERR_SUCCESS;
    1397             : }
    1398             : 
    1399    59789512 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
    1400             : {
    1401             :         uint32_t v;
    1402             :         {
    1403    59789512 :                 uint32_t _flags_save_ENUM = ndr->flags;
    1404    59789512 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1405    59789512 :                 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    1406    59789512 :                 *r = v;
    1407    59789512 :                 ndr->flags = _flags_save_ENUM;
    1408             :         }
    1409    59789512 :         return NDR_ERR_SUCCESS;
    1410             : }
    1411             : 
    1412      229921 : _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
    1413             : {
    1414      229921 :         const char *val = NULL;
    1415             : 
    1416             :         {
    1417      229921 :                 uint32_t _flags_save_ENUM = ndr->flags;
    1418      229921 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1419      229921 :                 switch (r) {
    1420       14894 :                         case DRSUAPI_ATTID_objectClass: val = "DRSUAPI_ATTID_objectClass"; break;
    1421         307 :                         case DRSUAPI_ATTID_cn: val = "DRSUAPI_ATTID_cn"; break;
    1422           0 :                         case DRSUAPI_ATTID_ou: val = "DRSUAPI_ATTID_ou"; break;
    1423         424 :                         case DRSUAPI_ATTID_description: val = "DRSUAPI_ATTID_description"; break;
    1424         104 :                         case DRSUAPI_ATTID_member: val = "DRSUAPI_ATTID_member"; break;
    1425           0 :                         case DRSUAPI_ATTID_distinguishedName: val = "DRSUAPI_ATTID_distinguishedName"; break;
    1426       14888 :                         case DRSUAPI_ATTID_instanceType: val = "DRSUAPI_ATTID_instanceType"; break;
    1427       14888 :                         case DRSUAPI_ATTID_whenCreated: val = "DRSUAPI_ATTID_whenCreated"; break;
    1428         132 :                         case DRSUAPI_ATTID_possSuperiors: val = "DRSUAPI_ATTID_possSuperiors"; break;
    1429         446 :                         case DRSUAPI_ATTID_displayName: val = "DRSUAPI_ATTID_displayName"; break;
    1430          16 :                         case DRSUAPI_ATTID_hasMasterNCs: val = "DRSUAPI_ATTID_hasMasterNCs"; break;
    1431          20 :                         case DRSUAPI_ATTID_nCName: val = "DRSUAPI_ATTID_nCName"; break;
    1432        1056 :                         case DRSUAPI_ATTID_subClassOf: val = "DRSUAPI_ATTID_subClassOf"; break;
    1433        1056 :                         case DRSUAPI_ATTID_governsID: val = "DRSUAPI_ATTID_governsID"; break;
    1434          68 :                         case DRSUAPI_ATTID_mustContain: val = "DRSUAPI_ATTID_mustContain"; break;
    1435         212 :                         case DRSUAPI_ATTID_mayContain: val = "DRSUAPI_ATTID_mayContain"; break;
    1436        1056 :                         case DRSUAPI_ATTID_rDNAttId: val = "DRSUAPI_ATTID_rDNAttId"; break;
    1437        5904 :                         case DRSUAPI_ATTID_attributeID: val = "DRSUAPI_ATTID_attributeID"; break;
    1438        5904 :                         case DRSUAPI_ATTID_attributeSyntax: val = "DRSUAPI_ATTID_attributeSyntax"; break;
    1439        5904 :                         case DRSUAPI_ATTID_isSingleValued: val = "DRSUAPI_ATTID_isSingleValued"; break;
    1440        1228 :                         case DRSUAPI_ATTID_rangeLower: val = "DRSUAPI_ATTID_rangeLower"; break;
    1441        1636 :                         case DRSUAPI_ATTID_rangeUpper: val = "DRSUAPI_ATTID_rangeUpper"; break;
    1442           8 :                         case DRSUAPI_ATTID_dMDLocation: val = "DRSUAPI_ATTID_dMDLocation"; break;
    1443         420 :                         case DRSUAPI_ATTID_isDeleted: val = "DRSUAPI_ATTID_isDeleted"; break;
    1444          12 :                         case DRSUAPI_ATTID_objectVersion: val = "DRSUAPI_ATTID_objectVersion"; break;
    1445           8 :                         case DRSUAPI_ATTID_invocationId: val = "DRSUAPI_ATTID_invocationId"; break;
    1446       14204 :                         case DRSUAPI_ATTID_showInAdvancedViewOnly: val = "DRSUAPI_ATTID_showInAdvancedViewOnly"; break;
    1447        6948 :                         case DRSUAPI_ATTID_adminDisplayName: val = "DRSUAPI_ATTID_adminDisplayName"; break;
    1448        6948 :                         case DRSUAPI_ATTID_adminDescription: val = "DRSUAPI_ATTID_adminDescription"; break;
    1449        5904 :                         case DRSUAPI_ATTID_oMSyntax: val = "DRSUAPI_ATTID_oMSyntax"; break;
    1450       14892 :                         case DRSUAPI_ATTID_ntSecurityDescriptor: val = "DRSUAPI_ATTID_ntSecurityDescriptor"; break;
    1451        5892 :                         case DRSUAPI_ATTID_searchFlags: val = "DRSUAPI_ATTID_searchFlags"; break;
    1452          16 :                         case DRSUAPI_ATTID_auxiliaryClass: val = "DRSUAPI_ATTID_auxiliaryClass"; break;
    1453        6960 :                         case DRSUAPI_ATTID_lDAPDisplayName: val = "DRSUAPI_ATTID_lDAPDisplayName"; break;
    1454       14888 :                         case DRSUAPI_ATTID_name: val = "DRSUAPI_ATTID_name"; break;
    1455           0 :                         case DRSUAPI_ATTID_objectGUID: val = "DRSUAPI_ATTID_objectGUID"; break;
    1456           2 :                         case DRSUAPI_ATTID_replPropertyMetaData: val = "DRSUAPI_ATTID_replPropertyMetaData"; break;
    1457         516 :                         case DRSUAPI_ATTID_userAccountControl: val = "DRSUAPI_ATTID_userAccountControl"; break;
    1458           0 :                         case DRSUAPI_ATTID_badPwdCount: val = "DRSUAPI_ATTID_badPwdCount"; break;
    1459         516 :                         case DRSUAPI_ATTID_codePage: val = "DRSUAPI_ATTID_codePage"; break;
    1460         516 :                         case DRSUAPI_ATTID_countryCode: val = "DRSUAPI_ATTID_countryCode"; break;
    1461           0 :                         case DRSUAPI_ATTID_currentValue: val = "DRSUAPI_ATTID_currentValue"; break;
    1462           0 :                         case DRSUAPI_ATTID_homeDirectory: val = "DRSUAPI_ATTID_homeDirectory"; break;
    1463           0 :                         case DRSUAPI_ATTID_homeDrive: val = "DRSUAPI_ATTID_homeDrive"; break;
    1464           0 :                         case DRSUAPI_ATTID_lastLogoff: val = "DRSUAPI_ATTID_lastLogoff"; break;
    1465           0 :                         case DRSUAPI_ATTID_lastLogon: val = "DRSUAPI_ATTID_lastLogon"; break;
    1466         516 :                         case DRSUAPI_ATTID_dBCSPwd: val = "DRSUAPI_ATTID_dBCSPwd"; break;
    1467           0 :                         case DRSUAPI_ATTID_scriptPath: val = "DRSUAPI_ATTID_scriptPath"; break;
    1468         516 :                         case DRSUAPI_ATTID_logonHours: val = "DRSUAPI_ATTID_logonHours"; break;
    1469           0 :                         case DRSUAPI_ATTID_userWorkstations: val = "DRSUAPI_ATTID_userWorkstations"; break;
    1470         516 :                         case DRSUAPI_ATTID_unicodePwd: val = "DRSUAPI_ATTID_unicodePwd"; break;
    1471         516 :                         case DRSUAPI_ATTID_ntPwdHistory: val = "DRSUAPI_ATTID_ntPwdHistory"; break;
    1472         516 :                         case DRSUAPI_ATTID_pwdLastSet: val = "DRSUAPI_ATTID_pwdLastSet"; break;
    1473         516 :                         case DRSUAPI_ATTID_primaryGroupID: val = "DRSUAPI_ATTID_primaryGroupID"; break;
    1474           0 :                         case DRSUAPI_ATTID_priorValue: val = "DRSUAPI_ATTID_priorValue"; break;
    1475         304 :                         case DRSUAPI_ATTID_supplementalCredentials: val = "DRSUAPI_ATTID_supplementalCredentials"; break;
    1476           0 :                         case DRSUAPI_ATTID_trustAuthIncoming: val = "DRSUAPI_ATTID_trustAuthIncoming"; break;
    1477           0 :                         case DRSUAPI_ATTID_trustAuthOutgoing: val = "DRSUAPI_ATTID_trustAuthOutgoing"; break;
    1478           0 :                         case DRSUAPI_ATTID_userParameters: val = "DRSUAPI_ATTID_userParameters"; break;
    1479           0 :                         case DRSUAPI_ATTID_profilePath: val = "DRSUAPI_ATTID_profilePath"; break;
    1480         106 :                         case DRSUAPI_ATTID_operatorCount: val = "DRSUAPI_ATTID_operatorCount"; break;
    1481         796 :                         case DRSUAPI_ATTID_objectSid: val = "DRSUAPI_ATTID_objectSid"; break;
    1482        6960 :                         case DRSUAPI_ATTID_schemaIDGUID: val = "DRSUAPI_ATTID_schemaIDGUID"; break;
    1483         158 :                         case DRSUAPI_ATTID_adminCount: val = "DRSUAPI_ATTID_adminCount"; break;
    1484         112 :                         case DRSUAPI_ATTID_comment: val = "DRSUAPI_ATTID_comment"; break;
    1485         516 :                         case DRSUAPI_ATTID_accountExpires: val = "DRSUAPI_ATTID_accountExpires"; break;
    1486         516 :                         case DRSUAPI_ATTID_lmPwdHistory: val = "DRSUAPI_ATTID_lmPwdHistory"; break;
    1487           0 :                         case DRSUAPI_ATTID_logonCount: val = "DRSUAPI_ATTID_logonCount"; break;
    1488         848 :                         case DRSUAPI_ATTID_systemPossSuperiors: val = "DRSUAPI_ATTID_systemPossSuperiors"; break;
    1489         680 :                         case DRSUAPI_ATTID_systemMayContain: val = "DRSUAPI_ATTID_systemMayContain"; break;
    1490         368 :                         case DRSUAPI_ATTID_systemMustContain: val = "DRSUAPI_ATTID_systemMustContain"; break;
    1491          28 :                         case DRSUAPI_ATTID_systemAuxiliaryClass: val = "DRSUAPI_ATTID_systemAuxiliaryClass"; break;
    1492         668 :                         case DRSUAPI_ATTID_sAMAccountName: val = "DRSUAPI_ATTID_sAMAccountName"; break;
    1493         668 :                         case DRSUAPI_ATTID_sAMAccountType: val = "DRSUAPI_ATTID_sAMAccountType"; break;
    1494          12 :                         case DRSUAPI_ATTID_options: val = "DRSUAPI_ATTID_options"; break;
    1495          20 :                         case DRSUAPI_ATTID_fSMORoleOwner: val = "DRSUAPI_ATTID_fSMORoleOwner"; break;
    1496        6628 :                         case DRSUAPI_ATTID_systemFlags: val = "DRSUAPI_ATTID_systemFlags"; break;
    1497           6 :                         case DRSUAPI_ATTID_serverReference: val = "DRSUAPI_ATTID_serverReference"; break;
    1498           0 :                         case DRSUAPI_ATTID_serverReferenceBL: val = "DRSUAPI_ATTID_serverReferenceBL"; break;
    1499           0 :                         case DRSUAPI_ATTID_nonSecurityMember: val = "DRSUAPI_ATTID_nonSecurityMember"; break;
    1500           0 :                         case DRSUAPI_ATTID_initialAuthIncoming: val = "DRSUAPI_ATTID_initialAuthIncoming"; break;
    1501           0 :                         case DRSUAPI_ATTID_initialAuthOutgoing: val = "DRSUAPI_ATTID_initialAuthOutgoing"; break;
    1502           8 :                         case DRSUAPI_ATTID_wellKnownObjects: val = "DRSUAPI_ATTID_wellKnownObjects"; break;
    1503         120 :                         case DRSUAPI_ATTID_dNSHostName: val = "DRSUAPI_ATTID_dNSHostName"; break;
    1504         848 :                         case DRSUAPI_ATTID_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTID_isMemberOfPartialAttributeSet"; break;
    1505           0 :                         case DRSUAPI_ATTID_managedBy: val = "DRSUAPI_ATTID_managedBy"; break;
    1506          92 :                         case DRSUAPI_ATTID_userPrincipalName: val = "DRSUAPI_ATTID_userPrincipalName"; break;
    1507         152 :                         case DRSUAPI_ATTID_groupType: val = "DRSUAPI_ATTID_groupType"; break;
    1508         132 :                         case DRSUAPI_ATTID_servicePrincipalName: val = "DRSUAPI_ATTID_servicePrincipalName"; break;
    1509         412 :                         case DRSUAPI_ATTID_lastKnownParent: val = "DRSUAPI_ATTID_lastKnownParent"; break;
    1510       14892 :                         case DRSUAPI_ATTID_objectCategory: val = "DRSUAPI_ATTID_objectCategory"; break;
    1511           8 :                         case DRSUAPI_ATTID_gPLink: val = "DRSUAPI_ATTID_gPLink"; break;
    1512           8 :                         case DRSUAPI_ATTID_transportAddressAttribute: val = "DRSUAPI_ATTID_transportAddressAttribute"; break;
    1513           4 :                         case DRSUAPI_ATTID_schemaInfo: val = "DRSUAPI_ATTID_schemaInfo"; break;
    1514          20 :                         case DRSUAPI_ATTID_msDS_Behavior_Version: val = "DRSUAPI_ATTID_msDS_Behavior_Version"; break;
    1515           0 :                         case DRSUAPI_ATTID_msDS_KeyVersionNumber: val = "DRSUAPI_ATTID_msDS_KeyVersionNumber"; break;
    1516           0 :                         case DRSUAPI_ATTID_msDS_NonMembers: val = "DRSUAPI_ATTID_msDS_NonMembers"; break;
    1517           0 :                         case DRSUAPI_ATTID_msDS_MembersForAzRole: val = "DRSUAPI_ATTID_msDS_MembersForAzRole"; break;
    1518           8 :                         case DRSUAPI_ATTID_msDS_HasDomainNCs: val = "DRSUAPI_ATTID_msDS_HasDomainNCs"; break;
    1519          24 :                         case DRSUAPI_ATTID_msDS_hasMasterNCs: val = "DRSUAPI_ATTID_msDS_hasMasterNCs"; break;
    1520           0 :                         case DRSUAPI_ATTID_msDS_NeverRevealGroup: val = "DRSUAPI_ATTID_msDS_NeverRevealGroup"; break;
    1521           0 :                         case DRSUAPI_ATTID_msDS_RevealOnDemandGroup: val = "DRSUAPI_ATTID_msDS_RevealOnDemandGroup"; break;
    1522           0 :                         case DRSUAPI_ATTID_msDS_HostServiceAccount: val = "DRSUAPI_ATTID_msDS_HostServiceAccount"; break;
    1523         412 :                         case DRSUAPI_ATTID_isRecycled: val = "DRSUAPI_ATTID_isRecycled"; break;
    1524           0 :                         case DRSUAPI_ATTID_INVALID: val = "DRSUAPI_ATTID_INVALID"; break;
    1525             :                 }
    1526      229921 :                 ndr_print_enum(ndr, name, "ENUM", val, r);
    1527      229921 :                 ndr->flags = _flags_save_ENUM;
    1528             :         }
    1529      229921 : }
    1530             : 
    1531        2920 : static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
    1532             : {
    1533             :         uint32_t cntr_attids_0;
    1534        2920 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1535        2920 :         if (ndr_flags & NDR_SCALARS) {
    1536        2920 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
    1537        2920 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    1538        2920 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
    1539        2920 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    1540        2920 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
    1541     3779688 :                 for (cntr_attids_0 = 0; cntr_attids_0 < (r->num_attids); cntr_attids_0++) {
    1542     3776768 :                         NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
    1543             :                 }
    1544        2920 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1545             :         }
    1546        2920 :         if (ndr_flags & NDR_BUFFERS) {
    1547             :         }
    1548        2920 :         return NDR_ERR_SUCCESS;
    1549             : }
    1550             : 
    1551        2920 : static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
    1552             : {
    1553        2920 :         uint32_t size_attids_0 = 0;
    1554             :         uint32_t cntr_attids_0;
    1555        2920 :         TALLOC_CTX *_mem_save_attids_0 = NULL;
    1556        2920 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1557        2920 :         if (ndr_flags & NDR_SCALARS) {
    1558        2920 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
    1559        2920 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    1560        2920 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
    1561        2920 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
    1562        2920 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
    1563        2920 :                 if (r->num_attids < 1 || r->num_attids > 1048576) {
    1564           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    1565             :                 }
    1566        2920 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->attids, &size_attids_0));
    1567        2920 :                 NDR_PULL_ALLOC_N(ndr, r->attids, size_attids_0);
    1568        2920 :                 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1569        2920 :                 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
    1570     3779688 :                 for (cntr_attids_0 = 0; cntr_attids_0 < (size_attids_0); cntr_attids_0++) {
    1571     3776768 :                         NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
    1572             :                 }
    1573        2920 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
    1574        2920 :                 if (r->attids) {
    1575        2920 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->attids, r->num_attids));
    1576             :                 }
    1577        2920 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1578             :         }
    1579        2920 :         if (ndr_flags & NDR_BUFFERS) {
    1580             :         }
    1581        2920 :         return NDR_ERR_SUCCESS;
    1582             : }
    1583             : 
    1584           0 : _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
    1585             : {
    1586             :         uint32_t cntr_attids_0;
    1587           0 :         ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
    1588           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1589           0 :         ndr->depth++;
    1590           0 :         ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
    1591           0 :         ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
    1592           0 :         ndr_print_uint32(ndr, "num_attids", r->num_attids);
    1593           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
    1594           0 :         ndr->depth++;
    1595           0 :         for (cntr_attids_0 = 0; cntr_attids_0 < (r->num_attids); cntr_attids_0++) {
    1596           0 :                 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
    1597             :         }
    1598           0 :         ndr->depth--;
    1599           0 :         ndr->depth--;
    1600             : }
    1601             : 
    1602         910 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
    1603             : {
    1604         910 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1605         910 :         if (ndr_flags & NDR_SCALARS) {
    1606         455 :                 if (r->naming_context == NULL) {
    1607           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1608             :                 }
    1609         455 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1610         455 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
    1611         455 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    1612         455 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
    1613         455 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
    1614         455 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
    1615         455 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
    1616         455 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
    1617         455 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
    1618         455 :                 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
    1619         455 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
    1620         455 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
    1621         455 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
    1622         455 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
    1623         455 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1624             :         }
    1625         910 :         if (ndr_flags & NDR_BUFFERS) {
    1626         455 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    1627         455 :                 if (r->uptodateness_vector) {
    1628           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    1629             :                 }
    1630         455 :                 if (r->partial_attribute_set) {
    1631          46 :                         NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
    1632             :                 }
    1633         455 :                 if (r->partial_attribute_set_ex) {
    1634           2 :                         NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
    1635             :                 }
    1636         455 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
    1637             :         }
    1638         910 :         return NDR_ERR_SUCCESS;
    1639             : }
    1640             : 
    1641         910 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
    1642             : {
    1643             :         uint32_t _ptr_naming_context;
    1644         910 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    1645             :         uint32_t _ptr_uptodateness_vector;
    1646         910 :         TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
    1647             :         uint32_t _ptr_partial_attribute_set;
    1648         910 :         TALLOC_CTX *_mem_save_partial_attribute_set_0 = NULL;
    1649             :         uint32_t _ptr_partial_attribute_set_ex;
    1650         910 :         TALLOC_CTX *_mem_save_partial_attribute_set_ex_0 = NULL;
    1651         910 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1652         910 :         if (ndr_flags & NDR_SCALARS) {
    1653         455 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1654         455 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
    1655         455 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    1656         455 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
    1657         455 :                 if (_ptr_naming_context) {
    1658         455 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    1659             :                 } else {
    1660           0 :                         r->naming_context = NULL;
    1661             :                 }
    1662         455 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
    1663         455 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
    1664         455 :                 if (_ptr_uptodateness_vector) {
    1665           0 :                         NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
    1666             :                 } else {
    1667         455 :                         r->uptodateness_vector = NULL;
    1668             :                 }
    1669         455 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
    1670         455 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
    1671         455 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
    1672         455 :                 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
    1673         455 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
    1674         455 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
    1675         455 :                 if (_ptr_partial_attribute_set) {
    1676          46 :                         NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
    1677             :                 } else {
    1678         409 :                         r->partial_attribute_set = NULL;
    1679             :                 }
    1680         455 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
    1681         455 :                 if (_ptr_partial_attribute_set_ex) {
    1682           2 :                         NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
    1683             :                 } else {
    1684         453 :                         r->partial_attribute_set_ex = NULL;
    1685             :                 }
    1686         455 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
    1687         455 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1688             :         }
    1689         910 :         if (ndr_flags & NDR_BUFFERS) {
    1690         455 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1691         455 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    1692         455 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    1693         455 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    1694         455 :                 if (r->uptodateness_vector) {
    1695           0 :                         _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1696           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
    1697           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    1698           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
    1699             :                 }
    1700         455 :                 if (r->partial_attribute_set) {
    1701          46 :                         _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1702          46 :                         NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
    1703          46 :                         NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
    1704          46 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
    1705             :                 }
    1706         455 :                 if (r->partial_attribute_set_ex) {
    1707           2 :                         _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1708           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
    1709           2 :                         NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
    1710           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
    1711             :                 }
    1712         455 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
    1713             :         }
    1714         910 :         return NDR_ERR_SUCCESS;
    1715             : }
    1716             : 
    1717           0 : static void ndr_print_flags_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesRequest8 *r)
    1718             : {
    1719           0 :         ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, name, r);
    1720           0 : }
    1721             : 
    1722          60 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
    1723             : {
    1724          60 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
    1725          60 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1726          60 :         ndr->depth++;
    1727          60 :         ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
    1728          60 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
    1729          60 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    1730          60 :         ndr->depth++;
    1731          60 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    1732          60 :         ndr->depth--;
    1733          60 :         ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
    1734          60 :         ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
    1735          60 :         ndr->depth++;
    1736          60 :         if (r->uptodateness_vector) {
    1737           0 :                 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
    1738             :         }
    1739          60 :         ndr->depth--;
    1740          60 :         ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
    1741          60 :         ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
    1742          60 :         ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
    1743          60 :         ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
    1744          60 :         ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
    1745          60 :         ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
    1746          60 :         ndr->depth++;
    1747          60 :         if (r->partial_attribute_set) {
    1748           0 :                 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
    1749             :         }
    1750          60 :         ndr->depth--;
    1751          60 :         ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
    1752          60 :         ndr->depth++;
    1753          60 :         if (r->partial_attribute_set_ex) {
    1754           0 :                 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
    1755             :         }
    1756          60 :         ndr->depth--;
    1757          60 :         ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
    1758          60 :         ndr->depth--;
    1759             : }
    1760             : 
    1761       13622 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
    1762             : {
    1763       13622 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1764       13622 :         if (ndr_flags & NDR_SCALARS) {
    1765        6811 :                 if (r->naming_context == NULL) {
    1766           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1767             :                 }
    1768        6811 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1769        6811 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
    1770        6811 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    1771        6811 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
    1772        6811 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
    1773        6811 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
    1774        6811 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
    1775        6811 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
    1776        6811 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
    1777        6811 :                 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
    1778        6811 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
    1779        6811 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
    1780        6811 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
    1781        6811 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
    1782        6811 :                 NDR_CHECK(ndr_push_drsuapi_DrsMoreOptions(ndr, NDR_SCALARS, r->more_flags));
    1783        6811 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1784             :         }
    1785       13622 :         if (ndr_flags & NDR_BUFFERS) {
    1786        6811 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    1787        6811 :                 if (r->uptodateness_vector) {
    1788        4971 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    1789             :                 }
    1790        6811 :                 if (r->partial_attribute_set) {
    1791        2872 :                         NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
    1792             :                 }
    1793        6811 :                 if (r->partial_attribute_set_ex) {
    1794           0 :                         NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
    1795             :                 }
    1796        6811 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
    1797             :         }
    1798       13622 :         return NDR_ERR_SUCCESS;
    1799             : }
    1800             : 
    1801       13622 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
    1802             : {
    1803             :         uint32_t _ptr_naming_context;
    1804       13622 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    1805             :         uint32_t _ptr_uptodateness_vector;
    1806       13622 :         TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
    1807             :         uint32_t _ptr_partial_attribute_set;
    1808       13622 :         TALLOC_CTX *_mem_save_partial_attribute_set_0 = NULL;
    1809             :         uint32_t _ptr_partial_attribute_set_ex;
    1810       13622 :         TALLOC_CTX *_mem_save_partial_attribute_set_ex_0 = NULL;
    1811       13622 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1812       13622 :         if (ndr_flags & NDR_SCALARS) {
    1813        6811 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1814        6811 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
    1815        6811 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    1816        6811 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
    1817        6811 :                 if (_ptr_naming_context) {
    1818        6811 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    1819             :                 } else {
    1820           0 :                         r->naming_context = NULL;
    1821             :                 }
    1822        6811 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
    1823        6811 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
    1824        6811 :                 if (_ptr_uptodateness_vector) {
    1825        4971 :                         NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
    1826             :                 } else {
    1827        1840 :                         r->uptodateness_vector = NULL;
    1828             :                 }
    1829        6811 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
    1830        6811 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
    1831        6811 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
    1832        6811 :                 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
    1833        6811 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
    1834        6811 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
    1835        6811 :                 if (_ptr_partial_attribute_set) {
    1836        2872 :                         NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
    1837             :                 } else {
    1838        3939 :                         r->partial_attribute_set = NULL;
    1839             :                 }
    1840        6811 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
    1841        6811 :                 if (_ptr_partial_attribute_set_ex) {
    1842           0 :                         NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
    1843             :                 } else {
    1844        6811 :                         r->partial_attribute_set_ex = NULL;
    1845             :                 }
    1846        6811 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
    1847        6811 :                 NDR_CHECK(ndr_pull_drsuapi_DrsMoreOptions(ndr, NDR_SCALARS, &r->more_flags));
    1848        6811 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1849             :         }
    1850       13622 :         if (ndr_flags & NDR_BUFFERS) {
    1851        6811 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1852        6811 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    1853        6811 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    1854        6811 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    1855        6811 :                 if (r->uptodateness_vector) {
    1856        4971 :                         _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1857        4971 :                         NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
    1858        4971 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    1859        4971 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
    1860             :                 }
    1861        6811 :                 if (r->partial_attribute_set) {
    1862        2872 :                         _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1863        2872 :                         NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
    1864        2872 :                         NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
    1865        2872 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
    1866             :                 }
    1867        6811 :                 if (r->partial_attribute_set_ex) {
    1868           0 :                         _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1869           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
    1870           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
    1871           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
    1872             :                 }
    1873        6811 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
    1874             :         }
    1875       13622 :         return NDR_ERR_SUCCESS;
    1876             : }
    1877             : 
    1878           0 : static void ndr_print_flags_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesRequest10 *r)
    1879             : {
    1880           0 :         ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, name, r);
    1881           0 : }
    1882             : 
    1883           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
    1884             : {
    1885           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
    1886           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1887           0 :         ndr->depth++;
    1888           0 :         ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
    1889           0 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
    1890           0 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    1891           0 :         ndr->depth++;
    1892           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    1893           0 :         ndr->depth--;
    1894           0 :         ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
    1895           0 :         ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
    1896           0 :         ndr->depth++;
    1897           0 :         if (r->uptodateness_vector) {
    1898           0 :                 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
    1899             :         }
    1900           0 :         ndr->depth--;
    1901           0 :         ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
    1902           0 :         ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
    1903           0 :         ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
    1904           0 :         ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
    1905           0 :         ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
    1906           0 :         ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
    1907           0 :         ndr->depth++;
    1908           0 :         if (r->partial_attribute_set) {
    1909           0 :                 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
    1910             :         }
    1911           0 :         ndr->depth--;
    1912           0 :         ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
    1913           0 :         ndr->depth++;
    1914           0 :         if (r->partial_attribute_set_ex) {
    1915           0 :                 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
    1916             :         }
    1917           0 :         ndr->depth--;
    1918           0 :         ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
    1919           0 :         ndr_print_drsuapi_DrsMoreOptions(ndr, "more_flags", r->more_flags);
    1920           0 :         ndr->depth--;
    1921             : }
    1922             : 
    1923        7266 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
    1924             : {
    1925             :         uint32_t level;
    1926        7266 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1927        7266 :         if (ndr_flags & NDR_SCALARS) {
    1928             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1929        7266 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1930        7266 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    1931        7266 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    1932        7266 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    1933        7266 :                 switch (level) {
    1934           0 :                         case 5: {
    1935           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
    1936           0 :                         break; }
    1937             : 
    1938         455 :                         case 8: {
    1939         455 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
    1940         455 :                         break; }
    1941             : 
    1942        6811 :                         case 10: {
    1943        6811 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
    1944        6811 :                         break; }
    1945             : 
    1946           0 :                         default:
    1947           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    1948             :                 }
    1949           0 :         }
    1950        7266 :         if (ndr_flags & NDR_BUFFERS) {
    1951        7266 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1952             :                         /* We didn't get it above, and the token is not needed after this. */
    1953           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1954             :                 }
    1955        7266 :                 switch (level) {
    1956           0 :                         case 5:
    1957           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
    1958           0 :                         break;
    1959             : 
    1960         455 :                         case 8:
    1961         455 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
    1962         455 :                         break;
    1963             : 
    1964        6811 :                         case 10:
    1965        6811 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
    1966        6811 :                         break;
    1967             : 
    1968           0 :                         default:
    1969           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    1970             :                 }
    1971           0 :         }
    1972        7266 :         return NDR_ERR_SUCCESS;
    1973             : }
    1974             : 
    1975        7266 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
    1976             : {
    1977             :         uint32_t level;
    1978             :         uint32_t _level;
    1979        7266 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1980        7266 :         if (ndr_flags & NDR_SCALARS) {
    1981             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1982        7266 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1983        7266 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    1984        7266 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    1985        7266 :                 if (_level != level) {
    1986           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    1987             :                 }
    1988        7266 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    1989        7266 :                 switch (level) {
    1990           0 :                         case 5: {
    1991           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
    1992           0 :                         break; }
    1993             : 
    1994         455 :                         case 8: {
    1995         455 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
    1996         455 :                         break; }
    1997             : 
    1998        6811 :                         case 10: {
    1999        6811 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
    2000        6811 :                         break; }
    2001             : 
    2002           0 :                         default:
    2003           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    2004             :                 }
    2005           0 :         }
    2006        7266 :         if (ndr_flags & NDR_BUFFERS) {
    2007        7266 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2008             :                         /* We didn't get it above, and the token is not needed after this. */
    2009           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2010             :                 }
    2011        7266 :                 switch (level) {
    2012           0 :                         case 5:
    2013           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
    2014           0 :                         break;
    2015             : 
    2016         455 :                         case 8:
    2017         455 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
    2018         455 :                         break;
    2019             : 
    2020        6811 :                         case 10:
    2021        6811 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
    2022        6811 :                         break;
    2023             : 
    2024           0 :                         default:
    2025           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    2026             :                 }
    2027           0 :         }
    2028        7266 :         return NDR_ERR_SUCCESS;
    2029             : }
    2030             : 
    2031          60 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
    2032             : {
    2033             :         uint32_t level;
    2034          60 :         level = ndr_print_steal_switch_value(ndr, r);
    2035          60 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
    2036          60 :         switch (level) {
    2037           0 :                 case 5:
    2038           0 :                         ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
    2039           0 :                 break;
    2040             : 
    2041          60 :                 case 8:
    2042          60 :                         ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
    2043          60 :                 break;
    2044             : 
    2045           0 :                 case 10:
    2046           0 :                         ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
    2047           0 :                 break;
    2048             : 
    2049           0 :                 default:
    2050           0 :                         ndr_print_bad_level(ndr, name, level);
    2051             :         }
    2052          60 : }
    2053             : 
    2054       14534 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
    2055             : {
    2056       14534 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2057       14534 :         if (ndr_flags & NDR_SCALARS) {
    2058       14534 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2059       14534 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    2060       14534 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
    2061       14534 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
    2062       14534 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2063             :         }
    2064       14534 :         if (ndr_flags & NDR_BUFFERS) {
    2065             :         }
    2066       14534 :         return NDR_ERR_SUCCESS;
    2067             : }
    2068             : 
    2069       23678 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
    2070             : {
    2071       23678 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2072       23678 :         if (ndr_flags & NDR_SCALARS) {
    2073       23678 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2074       23678 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    2075       23678 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
    2076       23678 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
    2077       23678 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2078             :         }
    2079       23678 :         if (ndr_flags & NDR_BUFFERS) {
    2080             :         }
    2081       23678 :         return NDR_ERR_SUCCESS;
    2082             : }
    2083             : 
    2084           0 : static void ndr_print_flags_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaCursor2 *r)
    2085             : {
    2086           0 :         ndr_print_drsuapi_DsReplicaCursor2(ndr, name, r);
    2087           0 : }
    2088             : 
    2089          12 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
    2090             : {
    2091          12 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
    2092          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2093          12 :         ndr->depth++;
    2094          12 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
    2095          12 :         ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
    2096          12 :         ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
    2097          12 :         ndr->depth--;
    2098             : }
    2099             : 
    2100        5914 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
    2101             : {
    2102             :         uint32_t cntr_cursors_0;
    2103        5914 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2104        5914 :         if (ndr_flags & NDR_SCALARS) {
    2105        5914 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    2106        5914 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2107        5914 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
    2108        5914 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    2109        5914 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    2110        5914 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    2111       16510 :                 for (cntr_cursors_0 = 0; cntr_cursors_0 < (r->count); cntr_cursors_0++) {
    2112       10596 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
    2113             :                 }
    2114        5914 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2115             :         }
    2116        5914 :         if (ndr_flags & NDR_BUFFERS) {
    2117             :         }
    2118        5914 :         return NDR_ERR_SUCCESS;
    2119             : }
    2120             : 
    2121        2951 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
    2122             : {
    2123        2951 :         uint32_t size_cursors_0 = 0;
    2124             :         uint32_t cntr_cursors_0;
    2125        2951 :         TALLOC_CTX *_mem_save_cursors_0 = NULL;
    2126        2951 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2127        2951 :         if (ndr_flags & NDR_SCALARS) {
    2128        2951 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
    2129        2951 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2130        2951 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
    2131        2951 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
    2132        2951 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    2133        2951 :                 if (r->count > 1048576) {
    2134           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    2135             :                 }
    2136        2951 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
    2137        2951 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->cursors, &size_cursors_0));
    2138        2951 :                 NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
    2139        2951 :                 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2140        2951 :                 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
    2141        8243 :                 for (cntr_cursors_0 = 0; cntr_cursors_0 < (size_cursors_0); cntr_cursors_0++) {
    2142        5292 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
    2143             :                 }
    2144        2951 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
    2145        2951 :                 if (r->cursors) {
    2146        2951 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->cursors, r->count));
    2147             :                 }
    2148        2951 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2149             :         }
    2150        2951 :         if (ndr_flags & NDR_BUFFERS) {
    2151             :         }
    2152        2951 :         return NDR_ERR_SUCCESS;
    2153             : }
    2154             : 
    2155          12 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
    2156             : {
    2157             :         uint32_t cntr_cursors_0;
    2158          12 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
    2159          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2160          12 :         ndr->depth++;
    2161          12 :         ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
    2162          12 :         ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
    2163          12 :         ndr_print_uint32(ndr, "count", r->count);
    2164          12 :         ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
    2165          12 :         ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
    2166          12 :         ndr->depth++;
    2167          24 :         for (cntr_cursors_0 = 0; cntr_cursors_0 < (r->count); cntr_cursors_0++) {
    2168          12 :                 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
    2169             :         }
    2170          12 :         ndr->depth--;
    2171          12 :         ndr->depth--;
    2172             : }
    2173             : 
    2174    32034962 : static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
    2175             : {
    2176    32034962 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2177    32034962 :         if (ndr_flags & NDR_SCALARS) {
    2178    16017481 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2179    16017481 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
    2180    16017481 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
    2181    16017481 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2182             :         }
    2183    32034962 :         if (ndr_flags & NDR_BUFFERS) {
    2184    16017481 :                 if (r->blob) {
    2185    16017480 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
    2186             :                 }
    2187             :         }
    2188    32034930 :         return NDR_ERR_SUCCESS;
    2189             : }
    2190             : 
    2191    15729534 : static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
    2192             : {
    2193             :         uint32_t _ptr_blob;
    2194    15729534 :         TALLOC_CTX *_mem_save_blob_0 = NULL;
    2195    15729534 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2196    15729534 :         if (ndr_flags & NDR_SCALARS) {
    2197     7864767 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2198     7864767 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
    2199     7864767 :                 if (r->__ndr_size > 26214400) {
    2200           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    2201             :                 }
    2202     7864767 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
    2203     7864767 :                 if (_ptr_blob) {
    2204     7864764 :                         NDR_PULL_ALLOC(ndr, r->blob);
    2205             :                 } else {
    2206           3 :                         r->blob = NULL;
    2207             :                 }
    2208     7864767 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2209             :         }
    2210    15729534 :         if (ndr_flags & NDR_BUFFERS) {
    2211     7864767 :                 if (r->blob) {
    2212     7864764 :                         _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2213     7864764 :                         NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
    2214     7864764 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
    2215     7864764 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
    2216             :                 }
    2217             :         }
    2218    15729408 :         return NDR_ERR_SUCCESS;
    2219             : }
    2220             : 
    2221      198466 : _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
    2222             : {
    2223      198466 :         ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
    2224      198466 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2225      198466 :         ndr->depth++;
    2226      198466 :         ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
    2227      198466 :         ndr_print_ptr(ndr, "blob", r->blob);
    2228      198466 :         ndr->depth++;
    2229      198466 :         if (r->blob) {
    2230      198466 :                 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
    2231             :         }
    2232      198466 :         ndr->depth--;
    2233      198466 :         ndr->depth--;
    2234             : }
    2235             : 
    2236    26774334 : static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
    2237             : {
    2238             :         uint32_t cntr_values_1;
    2239    26774334 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2240    26774334 :         if (ndr_flags & NDR_SCALARS) {
    2241    13387167 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2242    13387167 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
    2243    13387167 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
    2244    13387167 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2245             :         }
    2246    26774334 :         if (ndr_flags & NDR_BUFFERS) {
    2247    13387167 :                 if (r->values) {
    2248    12163963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
    2249    28149614 :                         for (cntr_values_1 = 0; cntr_values_1 < (r->num_values); cntr_values_1++) {
    2250    15985663 :                                 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
    2251             :                         }
    2252    28149614 :                         for (cntr_values_1 = 0; cntr_values_1 < (r->num_values); cntr_values_1++) {
    2253    15985663 :                                 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
    2254             :                         }
    2255             :                 }
    2256             :         }
    2257    26774310 :         return NDR_ERR_SUCCESS;
    2258             : }
    2259             : 
    2260    13166738 : static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
    2261             : {
    2262             :         uint32_t _ptr_values;
    2263    13166738 :         uint32_t size_values_1 = 0;
    2264             :         uint32_t cntr_values_1;
    2265    13166738 :         TALLOC_CTX *_mem_save_values_0 = NULL;
    2266    13166738 :         TALLOC_CTX *_mem_save_values_1 = NULL;
    2267    13166738 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2268    13166738 :         if (ndr_flags & NDR_SCALARS) {
    2269     6583369 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2270     6583369 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
    2271     6583369 :                 if (r->num_values > 10485760) {
    2272           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    2273             :                 }
    2274     6583369 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
    2275     6583369 :                 if (_ptr_values) {
    2276     5973042 :                         NDR_PULL_ALLOC(ndr, r->values);
    2277             :                 } else {
    2278      610327 :                         r->values = NULL;
    2279             :                 }
    2280     6583369 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2281             :         }
    2282    13166738 :         if (ndr_flags & NDR_BUFFERS) {
    2283     6583369 :                 if (r->values) {
    2284     5973042 :                         _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2285     5973042 :                         NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
    2286     5973042 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
    2287     5973042 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->values, &size_values_1));
    2288     5973042 :                         NDR_PULL_ALLOC_N(ndr, r->values, size_values_1);
    2289     5973042 :                         _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
    2290     5973042 :                         NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
    2291    13821991 :                         for (cntr_values_1 = 0; cntr_values_1 < (size_values_1); cntr_values_1++) {
    2292     7848949 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
    2293             :                         }
    2294    13821944 :                         for (cntr_values_1 = 0; cntr_values_1 < (size_values_1); cntr_values_1++) {
    2295     7848949 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
    2296             :                         }
    2297     5973042 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
    2298     5973042 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
    2299             :                 }
    2300     6583369 :                 if (r->values) {
    2301     5973042 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
    2302             :                 }
    2303     6934631 :                 for (cntr_values_1 = 0; cntr_values_1 < (size_values_1); cntr_values_1++) {
    2304             :                 }
    2305             :         }
    2306    13166644 :         return NDR_ERR_SUCCESS;
    2307             : }
    2308             : 
    2309           0 : _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
    2310             : {
    2311             :         uint32_t cntr_values_1;
    2312           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
    2313           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2314           0 :         ndr->depth++;
    2315           0 :         ndr_print_uint32(ndr, "num_values", r->num_values);
    2316           0 :         ndr_print_ptr(ndr, "values", r->values);
    2317           0 :         ndr->depth++;
    2318           0 :         if (r->values) {
    2319           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
    2320           0 :                 ndr->depth++;
    2321           0 :                 for (cntr_values_1 = 0; cntr_values_1 < (r->num_values); cntr_values_1++) {
    2322           0 :                         ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
    2323             :                 }
    2324           0 :                 ndr->depth--;
    2325             :         }
    2326           0 :         ndr->depth--;
    2327           0 :         ndr->depth--;
    2328             : }
    2329             : 
    2330     1013204 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
    2331             : {
    2332     1013204 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2333     1013204 :         if (ndr_flags & NDR_SCALARS) {
    2334     1013204 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2335     1013204 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags)));
    2336     1013204 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
    2337     1013204 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
    2338     1013204 :                 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
    2339     1013204 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
    2340     1013204 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
    2341     1013204 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2342             :         }
    2343     1013204 :         if (ndr_flags & NDR_BUFFERS) {
    2344     1013204 :                 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
    2345             :         }
    2346     1013197 :         return NDR_ERR_SUCCESS;
    2347             : }
    2348             : 
    2349      646194 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
    2350             : {
    2351      646194 :         uint32_t size_dn_0 = 0;
    2352      646194 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2353      646194 :         if (ndr_flags & NDR_SCALARS) {
    2354      646194 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2355      646194 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
    2356      646194 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
    2357      646194 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
    2358      646194 :                 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
    2359      646194 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
    2360      646194 :                 size_dn_0 = r->__ndr_size_dn + 1;
    2361      646194 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
    2362      646194 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2363             :         }
    2364      646194 :         if (ndr_flags & NDR_BUFFERS) {
    2365      646194 :                 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
    2366             :         }
    2367      646192 :         return NDR_ERR_SUCCESS;
    2368             : }
    2369             : 
    2370           0 : static void ndr_print_flags_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
    2371             : {
    2372           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier3(ndr, name, r);
    2373           0 : }
    2374             : 
    2375           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
    2376             : {
    2377           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
    2378           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2379           0 :         ndr->depth++;
    2380           0 :         ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags):r->__ndr_size);
    2381           0 :         ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
    2382           0 :         ndr_print_GUID(ndr, "guid", &r->guid);
    2383           0 :         ndr_print_dom_sid28(ndr, "sid", &r->sid);
    2384           0 :         ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
    2385           0 :         ndr_print_string(ndr, "dn", r->dn);
    2386           0 :         ndr->depth--;
    2387             : }
    2388             : 
    2389     1013204 : _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, int flags)
    2390             : {
    2391     1013204 :         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3);
    2392             : }
    2393             : 
    2394        3858 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
    2395             : {
    2396        3858 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2397        3858 :         if (ndr_flags & NDR_SCALARS) {
    2398        3858 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2399        3858 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->flags)));
    2400        3858 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
    2401        3858 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
    2402        3858 :                 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
    2403        3858 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
    2404        3858 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
    2405        3858 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
    2406             :                 {
    2407        3858 :                         uint32_t _flags_save_DATA_BLOB = ndr->flags;
    2408        3858 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    2409        3858 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
    2410        3858 :                         ndr->flags = _flags_save_DATA_BLOB;
    2411             :                 }
    2412        3858 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2413             :         }
    2414        3858 :         if (ndr_flags & NDR_BUFFERS) {
    2415        3858 :                 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
    2416             :         }
    2417        3855 :         return NDR_ERR_SUCCESS;
    2418             : }
    2419             : 
    2420        5886 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
    2421             : {
    2422        5886 :         uint32_t size_dn_0 = 0;
    2423        5886 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2424        5886 :         if (ndr_flags & NDR_SCALARS) {
    2425        5886 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2426        5886 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
    2427        5886 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
    2428        5886 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
    2429        5886 :                 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
    2430        5886 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
    2431        5886 :                 size_dn_0 = r->__ndr_size_dn + 1;
    2432        5886 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
    2433        5886 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
    2434             :                 {
    2435        5886 :                         uint32_t _flags_save_DATA_BLOB = ndr->flags;
    2436        5886 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    2437        5886 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
    2438        5886 :                         ndr->flags = _flags_save_DATA_BLOB;
    2439             :                 }
    2440        5886 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2441             :         }
    2442        5886 :         if (ndr_flags & NDR_BUFFERS) {
    2443        5886 :                 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
    2444             :         }
    2445        5883 :         return NDR_ERR_SUCCESS;
    2446             : }
    2447             : 
    2448           0 : static void ndr_print_flags_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
    2449             : {
    2450           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(ndr, name, r);
    2451           0 : }
    2452             : 
    2453           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
    2454             : {
    2455           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
    2456           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2457           0 :         ndr->depth++;
    2458           0 :         ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->flags):r->__ndr_size);
    2459           0 :         ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
    2460           0 :         ndr_print_GUID(ndr, "guid", &r->guid);
    2461           0 :         ndr_print_dom_sid28(ndr, "sid", &r->sid);
    2462           0 :         ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
    2463           0 :         ndr_print_string(ndr, "dn", r->dn);
    2464           0 :         ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
    2465             :         {
    2466           0 :                 uint32_t _flags_save_DATA_BLOB = ndr->flags;
    2467           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    2468           0 :                 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
    2469           0 :                 ndr->flags = _flags_save_DATA_BLOB;
    2470             :         }
    2471           0 :         ndr->depth--;
    2472             : }
    2473             : 
    2474    26774333 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
    2475             : {
    2476    26774333 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2477    26774333 :         if (ndr_flags & NDR_SCALARS) {
    2478    13387167 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2479    13387167 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
    2480    13387167 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
    2481    13387167 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2482             :         }
    2483    26774333 :         if (ndr_flags & NDR_BUFFERS) {
    2484    13387167 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
    2485             :         }
    2486    26774310 :         return NDR_ERR_SUCCESS;
    2487             : }
    2488             : 
    2489    13166736 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
    2490             : {
    2491    13166736 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2492    13166736 :         if (ndr_flags & NDR_SCALARS) {
    2493     6583369 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2494     6583369 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
    2495     6583369 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
    2496     6583369 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2497             :         }
    2498    13166736 :         if (ndr_flags & NDR_BUFFERS) {
    2499     6583369 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
    2500             :         }
    2501    13166644 :         return NDR_ERR_SUCCESS;
    2502             : }
    2503             : 
    2504           2 : static void ndr_print_flags_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaAttribute *r)
    2505             : {
    2506           2 :         ndr_print_drsuapi_DsReplicaAttribute(ndr, name, r);
    2507           2 : }
    2508             : 
    2509     1904032 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
    2510             : {
    2511             :         uint32_t cntr_attributes_1;
    2512     1904032 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2513     1904032 :         if (ndr_flags & NDR_SCALARS) {
    2514      952016 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2515      952016 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
    2516      952016 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
    2517      952016 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2518             :         }
    2519     1904032 :         if (ndr_flags & NDR_BUFFERS) {
    2520      952016 :                 if (r->attributes) {
    2521      952016 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
    2522    14339181 :                         for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->num_attributes); cntr_attributes_1++) {
    2523    13387166 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
    2524             :                         }
    2525    14339181 :                         for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->num_attributes); cntr_attributes_1++) {
    2526    13387166 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
    2527             :                         }
    2528             :                 }
    2529             :         }
    2530     1904030 :         return NDR_ERR_SUCCESS;
    2531             : }
    2532             : 
    2533      937564 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
    2534             : {
    2535             :         uint32_t _ptr_attributes;
    2536      937564 :         uint32_t size_attributes_1 = 0;
    2537             :         uint32_t cntr_attributes_1;
    2538      937564 :         TALLOC_CTX *_mem_save_attributes_0 = NULL;
    2539      937564 :         TALLOC_CTX *_mem_save_attributes_1 = NULL;
    2540      937564 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2541      937564 :         if (ndr_flags & NDR_SCALARS) {
    2542      468782 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2543      468782 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
    2544      468782 :                 if (r->num_attributes > 1048576) {
    2545           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    2546             :                 }
    2547      468782 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
    2548      468782 :                 if (_ptr_attributes) {
    2549      468781 :                         NDR_PULL_ALLOC(ndr, r->attributes);
    2550             :                 } else {
    2551           1 :                         r->attributes = NULL;
    2552             :                 }
    2553      468782 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2554             :         }
    2555      937564 :         if (ndr_flags & NDR_BUFFERS) {
    2556      468782 :                 if (r->attributes) {
    2557      468781 :                         _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2558      468781 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
    2559      468781 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
    2560      468781 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->attributes, &size_attributes_1));
    2561      468781 :                         NDR_PULL_ALLOC_N(ndr, r->attributes, size_attributes_1);
    2562      468781 :                         _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
    2563      468781 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
    2564     7052148 :                         for (cntr_attributes_1 = 0; cntr_attributes_1 < (size_attributes_1); cntr_attributes_1++) {
    2565     6583367 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
    2566             :                         }
    2567     7052143 :                         for (cntr_attributes_1 = 0; cntr_attributes_1 < (size_attributes_1); cntr_attributes_1++) {
    2568     6583367 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
    2569             :                         }
    2570      468781 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
    2571      468781 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
    2572             :                 }
    2573      468782 :                 if (r->attributes) {
    2574      468781 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
    2575             :                 }
    2576      757555 :                 for (cntr_attributes_1 = 0; cntr_attributes_1 < (size_attributes_1); cntr_attributes_1++) {
    2577             :                 }
    2578             :         }
    2579      937552 :         return NDR_ERR_SUCCESS;
    2580             : }
    2581             : 
    2582       14592 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
    2583             : {
    2584             :         uint32_t cntr_attributes_1;
    2585       14592 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
    2586       14592 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2587       14592 :         ndr->depth++;
    2588       14592 :         ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
    2589       14592 :         ndr_print_ptr(ndr, "attributes", r->attributes);
    2590       14592 :         ndr->depth++;
    2591       14592 :         if (r->attributes) {
    2592       14591 :                 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
    2593       14591 :                 ndr->depth++;
    2594      237120 :                 for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->num_attributes); cntr_attributes_1++) {
    2595      222529 :                         ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
    2596             :                 }
    2597       14591 :                 ndr->depth--;
    2598             :         }
    2599       14592 :         ndr->depth--;
    2600       14592 :         ndr->depth--;
    2601             : }
    2602             : 
    2603      952016 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    2604             : {
    2605      952016 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    2606      952016 :         return NDR_ERR_SUCCESS;
    2607             : }
    2608             : 
    2609      468782 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    2610             : {
    2611             :         uint32_t v;
    2612      468782 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    2613      468782 :         *r = v;
    2614      468782 :         return NDR_ERR_SUCCESS;
    2615             : }
    2616             : 
    2617       14592 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    2618             : {
    2619       14592 :         ndr_print_uint32(ndr, name, r);
    2620       14592 :         ndr->depth++;
    2621       14592 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
    2622       14592 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
    2623       14592 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
    2624       14592 :         ndr->depth--;
    2625       14592 : }
    2626             : 
    2627     1904032 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
    2628             : {
    2629     1904032 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2630     1904032 :         if (ndr_flags & NDR_SCALARS) {
    2631      952016 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2632      952016 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
    2633      952016 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
    2634      952016 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
    2635      952016 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2636             :         }
    2637     1904032 :         if (ndr_flags & NDR_BUFFERS) {
    2638      952016 :                 if (r->identifier) {
    2639      952016 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
    2640             :                 }
    2641      952016 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
    2642             :         }
    2643     1904030 :         return NDR_ERR_SUCCESS;
    2644             : }
    2645             : 
    2646      937564 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
    2647             : {
    2648             :         uint32_t _ptr_identifier;
    2649      937564 :         TALLOC_CTX *_mem_save_identifier_0 = NULL;
    2650      937564 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2651      937564 :         if (ndr_flags & NDR_SCALARS) {
    2652      468782 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2653      468782 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
    2654      468782 :                 if (_ptr_identifier) {
    2655      468780 :                         NDR_PULL_ALLOC(ndr, r->identifier);
    2656             :                 } else {
    2657           2 :                         r->identifier = NULL;
    2658             :                 }
    2659      468782 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
    2660      468782 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
    2661      468782 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2662             :         }
    2663      937564 :         if (ndr_flags & NDR_BUFFERS) {
    2664      468782 :                 if (r->identifier) {
    2665      468780 :                         _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2666      468780 :                         NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
    2667      468780 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
    2668      468780 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
    2669             :                 }
    2670      468782 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
    2671             :         }
    2672      937552 :         return NDR_ERR_SUCCESS;
    2673             : }
    2674             : 
    2675           0 : static void ndr_print_flags_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObject *r)
    2676             : {
    2677           0 :         ndr_print_drsuapi_DsReplicaObject(ndr, name, r);
    2678           0 : }
    2679             : 
    2680       14592 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
    2681             : {
    2682       14592 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
    2683       14592 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2684       14592 :         ndr->depth++;
    2685       14592 :         ndr_print_ptr(ndr, "identifier", r->identifier);
    2686       14592 :         ndr->depth++;
    2687       14592 :         if (r->identifier) {
    2688       14590 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
    2689             :         }
    2690       14592 :         ndr->depth--;
    2691       14592 :         ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
    2692       14592 :         ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
    2693       14592 :         ndr->depth--;
    2694             : }
    2695             : 
    2696    13418360 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
    2697             : {
    2698    13418360 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2699    13418360 :         if (ndr_flags & NDR_SCALARS) {
    2700    13418360 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2701    13418360 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
    2702    13418360 :                 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
    2703    13418360 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
    2704    13418360 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
    2705    13418360 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2706             :         }
    2707    13418360 :         if (ndr_flags & NDR_BUFFERS) {
    2708             :         }
    2709    13418360 :         return NDR_ERR_SUCCESS;
    2710             : }
    2711             : 
    2712     6598527 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
    2713             : {
    2714     6598527 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2715     6598527 :         if (ndr_flags & NDR_SCALARS) {
    2716     6598527 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2717     6598527 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
    2718     6598527 :                 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
    2719     6598527 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
    2720     6598527 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
    2721     6598527 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2722             :         }
    2723     6598527 :         if (ndr_flags & NDR_BUFFERS) {
    2724             :         }
    2725     6598527 :         return NDR_ERR_SUCCESS;
    2726             : }
    2727             : 
    2728      222666 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
    2729             : {
    2730      222666 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
    2731      222666 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2732      222666 :         ndr->depth++;
    2733      222666 :         ndr_print_uint32(ndr, "version", r->version);
    2734      222666 :         ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
    2735      222666 :         ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
    2736      222666 :         ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
    2737      222666 :         ndr->depth--;
    2738             : }
    2739             : 
    2740      951952 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
    2741             : {
    2742             :         uint32_t cntr_meta_data_0;
    2743      951952 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2744      951952 :         if (ndr_flags & NDR_SCALARS) {
    2745      951952 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    2746      951952 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2747      951952 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    2748    14338494 :                 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < (r->count); cntr_meta_data_0++) {
    2749    13386542 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
    2750             :                 }
    2751      951952 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2752             :         }
    2753      951952 :         if (ndr_flags & NDR_BUFFERS) {
    2754             :         }
    2755      951952 :         return NDR_ERR_SUCCESS;
    2756             : }
    2757             : 
    2758      468715 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
    2759             : {
    2760      468715 :         uint32_t size_meta_data_0 = 0;
    2761             :         uint32_t cntr_meta_data_0;
    2762      468715 :         TALLOC_CTX *_mem_save_meta_data_0 = NULL;
    2763      468715 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2764      468715 :         if (ndr_flags & NDR_SCALARS) {
    2765      468715 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
    2766      468715 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2767      468715 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    2768      468715 :                 if (r->count > 1048576) {
    2769           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    2770             :                 }
    2771      468715 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->meta_data, &size_meta_data_0));
    2772      468715 :                 NDR_PULL_ALLOC_N(ndr, r->meta_data, size_meta_data_0);
    2773      468715 :                 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2774      468715 :                 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
    2775     7051424 :                 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < (size_meta_data_0); cntr_meta_data_0++) {
    2776     6582709 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
    2777             :                 }
    2778      468715 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
    2779      468715 :                 if (r->meta_data) {
    2780      468715 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->meta_data, r->count));
    2781             :                 }
    2782      468715 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2783             :         }
    2784      468713 :         if (ndr_flags & NDR_BUFFERS) {
    2785             :         }
    2786      468715 :         return NDR_ERR_SUCCESS;
    2787             : }
    2788             : 
    2789           0 : static void ndr_print_flags_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaMetaDataCtr *r)
    2790             : {
    2791           0 :         ndr_print_drsuapi_DsReplicaMetaDataCtr(ndr, name, r);
    2792           0 : }
    2793             : 
    2794       14588 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
    2795             : {
    2796             :         uint32_t cntr_meta_data_0;
    2797       14588 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
    2798       14588 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2799       14588 :         ndr->depth++;
    2800       14588 :         ndr_print_uint32(ndr, "count", r->count);
    2801       14588 :         ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
    2802       14588 :         ndr->depth++;
    2803      237072 :         for (cntr_meta_data_0 = 0; cntr_meta_data_0 < (r->count); cntr_meta_data_0++) {
    2804      222484 :                 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
    2805             :         }
    2806       14588 :         ndr->depth--;
    2807       14588 :         ndr->depth--;
    2808             : }
    2809             : 
    2810      951952 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
    2811             : {
    2812      951952 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2813      951952 :         if (ndr_flags & NDR_SCALARS) {
    2814      951952 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2815      951952 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
    2816      951952 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
    2817      951952 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
    2818      951952 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
    2819      951952 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
    2820      951952 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2821             :         }
    2822      951952 :         if (ndr_flags & NDR_BUFFERS) {
    2823      951952 :                 if (r->next_object) {
    2824      944244 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
    2825             :                 }
    2826      951952 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
    2827      951952 :                 if (r->parent_object_guid) {
    2828      950698 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
    2829             :                 }
    2830      951952 :                 if (r->meta_data_ctr) {
    2831      951952 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
    2832             :                 }
    2833             :         }
    2834      951952 :         return NDR_ERR_SUCCESS;
    2835             : }
    2836             : 
    2837      468715 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
    2838             : {
    2839             :         uint32_t _ptr_next_object;
    2840      468715 :         TALLOC_CTX *_mem_save_next_object_0 = NULL;
    2841             :         uint32_t _ptr_parent_object_guid;
    2842      468715 :         TALLOC_CTX *_mem_save_parent_object_guid_0 = NULL;
    2843             :         uint32_t _ptr_meta_data_ctr;
    2844      468715 :         TALLOC_CTX *_mem_save_meta_data_ctr_0 = NULL;
    2845      468715 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2846      468715 :         if (ndr_flags & NDR_SCALARS) {
    2847      468715 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2848      468715 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
    2849      468715 :                 if (_ptr_next_object) {
    2850      464882 :                         NDR_PULL_ALLOC(ndr, r->next_object);
    2851             :                 } else {
    2852        3833 :                         r->next_object = NULL;
    2853             :                 }
    2854      468715 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
    2855      468715 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
    2856      468715 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
    2857      468715 :                 if (_ptr_parent_object_guid) {
    2858      468093 :                         NDR_PULL_ALLOC(ndr, r->parent_object_guid);
    2859             :                 } else {
    2860         622 :                         r->parent_object_guid = NULL;
    2861             :                 }
    2862      468715 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
    2863      468715 :                 if (_ptr_meta_data_ctr) {
    2864      468715 :                         NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
    2865             :                 } else {
    2866           0 :                         r->meta_data_ctr = NULL;
    2867             :                 }
    2868      468715 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2869             :         }
    2870      468715 :         if (ndr_flags & NDR_BUFFERS) {
    2871      468715 :                 if (r->next_object) {
    2872      464882 :                         _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2873      464882 :                         NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
    2874      464882 :                         NDR_RECURSION_CHECK(ndr, 20000);
    2875      464882 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
    2876      464882 :                         NDR_RECURSION_UNWIND(ndr);
    2877      464882 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
    2878             :                 }
    2879      468715 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
    2880      468715 :                 if (r->parent_object_guid) {
    2881      468093 :                         _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2882      468093 :                         NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
    2883      468093 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
    2884      468093 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
    2885             :                 }
    2886      468715 :                 if (r->meta_data_ctr) {
    2887      468715 :                         _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2888      468715 :                         NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
    2889      468715 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
    2890      468715 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
    2891             :                 }
    2892             :         }
    2893      468713 :         return NDR_ERR_SUCCESS;
    2894             : }
    2895             : 
    2896           0 : static void ndr_print_flags_drsuapi_DsReplicaObjectListItemEx(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectListItemEx *r)
    2897             : {
    2898           0 :         ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, name, r);
    2899           0 : }
    2900             : 
    2901           0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
    2902             : {
    2903           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2904           0 :         if (ndr_flags & NDR_SCALARS) {
    2905           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2906           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
    2907           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    2908           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
    2909           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
    2910           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
    2911           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
    2912           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
    2913           0 :                 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
    2914           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
    2915           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->flags) + 55));
    2916           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
    2917           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
    2918           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2919             :         }
    2920           0 :         if (ndr_flags & NDR_BUFFERS) {
    2921           0 :                 if (r->naming_context) {
    2922           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    2923             :                 }
    2924           0 :                 if (r->uptodateness_vector) {
    2925           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    2926             :                 }
    2927           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
    2928           0 :                 if (r->first_object) {
    2929           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
    2930             :                 }
    2931             :         }
    2932           0 :         return NDR_ERR_SUCCESS;
    2933             : }
    2934             : 
    2935           2 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
    2936             : {
    2937             :         uint32_t _ptr_naming_context;
    2938           2 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    2939             :         uint32_t _ptr_uptodateness_vector;
    2940           2 :         TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
    2941             :         uint32_t _ptr_first_object;
    2942           2 :         TALLOC_CTX *_mem_save_first_object_0 = NULL;
    2943           2 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2944           2 :         if (ndr_flags & NDR_SCALARS) {
    2945           1 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2946           1 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
    2947           1 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    2948           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
    2949           1 :                 if (_ptr_naming_context) {
    2950           0 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    2951             :                 } else {
    2952           1 :                         r->naming_context = NULL;
    2953             :                 }
    2954           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
    2955           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
    2956           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
    2957           1 :                 if (_ptr_uptodateness_vector) {
    2958           0 :                         NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
    2959             :                 } else {
    2960           1 :                         r->uptodateness_vector = NULL;
    2961             :                 }
    2962           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
    2963           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
    2964           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
    2965           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
    2966           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
    2967           1 :                 if (_ptr_first_object) {
    2968           1 :                         NDR_PULL_ALLOC(ndr, r->first_object);
    2969             :                 } else {
    2970           0 :                         r->first_object = NULL;
    2971             :                 }
    2972           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
    2973           1 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2974             :         }
    2975           2 :         if (ndr_flags & NDR_BUFFERS) {
    2976           1 :                 if (r->naming_context) {
    2977           0 :                         _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2978           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    2979           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    2980           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    2981             :                 }
    2982           1 :                 if (r->uptodateness_vector) {
    2983           0 :                         _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2984           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
    2985           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    2986           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
    2987             :                 }
    2988           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
    2989           1 :                 if (r->first_object) {
    2990           1 :                         _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2991           1 :                         NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
    2992           1 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
    2993           1 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
    2994             :                 }
    2995             :         }
    2996           0 :         return NDR_ERR_SUCCESS;
    2997             : }
    2998             : 
    2999           0 : static void ndr_print_flags_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesCtr1 *r)
    3000             : {
    3001           0 :         ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, name, r);
    3002           0 : }
    3003             : 
    3004           1 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
    3005             : {
    3006           1 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
    3007           1 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3008           1 :         ndr->depth++;
    3009           1 :         ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
    3010           1 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
    3011           1 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    3012           1 :         ndr->depth++;
    3013           1 :         if (r->naming_context) {
    3014           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    3015             :         }
    3016           1 :         ndr->depth--;
    3017           1 :         ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
    3018           1 :         ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
    3019           1 :         ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
    3020           1 :         ndr->depth++;
    3021           1 :         if (r->uptodateness_vector) {
    3022           0 :                 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
    3023             :         }
    3024           1 :         ndr->depth--;
    3025           1 :         ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
    3026           1 :         ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
    3027           1 :         ndr_print_uint32(ndr, "object_count", r->object_count);
    3028           1 :         ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->flags) + 55:r->__ndr_size);
    3029           1 :         ndr_print_ptr(ndr, "first_object", r->first_object);
    3030           1 :         ndr->depth++;
    3031           1 :         if (r->first_object) {
    3032           1 :                 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
    3033             :         }
    3034           1 :         ndr->depth--;
    3035           1 :         ndr_print_uint32(ndr, "more_data", r->more_data);
    3036           1 :         ndr->depth--;
    3037             : }
    3038             : 
    3039           0 : _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, int flags)
    3040             : {
    3041           0 :         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1);
    3042             : }
    3043             : 
    3044       31818 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    3045             : {
    3046       31818 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    3047       31818 :         return NDR_ERR_SUCCESS;
    3048             : }
    3049             : 
    3050       15818 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    3051             : {
    3052             :         uint32_t v;
    3053       15818 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    3054       15818 :         *r = v;
    3055       15818 :         return NDR_ERR_SUCCESS;
    3056             : }
    3057             : 
    3058         182 : _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    3059             : {
    3060         182 :         ndr_print_uint32(ndr, name, r);
    3061         182 :         ndr->depth++;
    3062         182 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
    3063         182 :         ndr->depth--;
    3064         182 : }
    3065             : 
    3066       63636 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
    3067             : {
    3068       63636 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3069       63636 :         if (ndr_flags & NDR_SCALARS) {
    3070       31818 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    3071       31818 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
    3072       31818 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
    3073       31818 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
    3074       31818 :                 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
    3075       31818 :                 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
    3076       31818 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
    3077       31818 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    3078             :         }
    3079       63636 :         if (ndr_flags & NDR_BUFFERS) {
    3080       31818 :                 if (r->identifier) {
    3081       31818 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
    3082             :                 }
    3083       31818 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
    3084             :         }
    3085       63636 :         return NDR_ERR_SUCCESS;
    3086             : }
    3087             : 
    3088       31636 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
    3089             : {
    3090             :         uint32_t _ptr_identifier;
    3091       31636 :         TALLOC_CTX *_mem_save_identifier_0 = NULL;
    3092       31636 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3093       31636 :         if (ndr_flags & NDR_SCALARS) {
    3094       15818 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    3095       15818 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
    3096       15818 :                 if (_ptr_identifier) {
    3097       15818 :                         NDR_PULL_ALLOC(ndr, r->identifier);
    3098             :                 } else {
    3099           0 :                         r->identifier = NULL;
    3100             :                 }
    3101       15818 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
    3102       15818 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
    3103       15818 :                 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
    3104       15818 :                 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
    3105       15818 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
    3106       15818 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    3107             :         }
    3108       31636 :         if (ndr_flags & NDR_BUFFERS) {
    3109       15818 :                 if (r->identifier) {
    3110       15818 :                         _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3111       15818 :                         NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
    3112       15818 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
    3113       15818 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
    3114             :                 }
    3115       15818 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
    3116             :         }
    3117       31636 :         return NDR_ERR_SUCCESS;
    3118             : }
    3119             : 
    3120           0 : static void ndr_print_flags_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaLinkedAttribute *r)
    3121             : {
    3122           0 :         ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, name, r);
    3123           0 : }
    3124             : 
    3125         182 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
    3126             : {
    3127         182 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
    3128         182 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3129         182 :         ndr->depth++;
    3130         182 :         ndr_print_ptr(ndr, "identifier", r->identifier);
    3131         182 :         ndr->depth++;
    3132         182 :         if (r->identifier) {
    3133         182 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
    3134             :         }
    3135         182 :         ndr->depth--;
    3136         182 :         ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
    3137         182 :         ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
    3138         182 :         ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
    3139         182 :         ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
    3140         182 :         ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
    3141         182 :         ndr->depth--;
    3142             : }
    3143             : 
    3144       21864 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
    3145             : {
    3146             :         uint32_t cntr_linked_attributes_1;
    3147       21864 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3148       21864 :         if (ndr_flags & NDR_SCALARS) {
    3149       14576 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    3150       14576 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
    3151       14576 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    3152       14576 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
    3153       14576 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
    3154       14576 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
    3155       14576 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
    3156       14576 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
    3157       14576 :                 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
    3158       14576 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
    3159       14576 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->flags) + 55));
    3160       14576 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
    3161       14576 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
    3162       14576 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
    3163       14576 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
    3164       14576 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
    3165       14576 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
    3166       14576 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
    3167       14576 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    3168             :         }
    3169       21864 :         if (ndr_flags & NDR_BUFFERS) {
    3170       14576 :                 if (r->naming_context) {
    3171        9700 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    3172             :                 }
    3173       14576 :                 if (r->uptodateness_vector) {
    3174        5914 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    3175             :                 }
    3176       14576 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
    3177       14576 :                 if (r->first_object) {
    3178        7708 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
    3179             :                 }
    3180       14576 :                 if (r->linked_attributes) {
    3181       14576 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
    3182       46394 :                         for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (r->linked_attributes_count); cntr_linked_attributes_1++) {
    3183       31818 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
    3184             :                         }
    3185       46394 :                         for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (r->linked_attributes_count); cntr_linked_attributes_1++) {
    3186       31818 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
    3187             :                         }
    3188             :                 }
    3189             :         }
    3190       21864 :         return NDR_ERR_SUCCESS;
    3191             : }
    3192             : 
    3193       14532 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
    3194             : {
    3195             :         uint32_t _ptr_naming_context;
    3196       14532 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    3197             :         uint32_t _ptr_uptodateness_vector;
    3198       14532 :         TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
    3199             :         uint32_t _ptr_first_object;
    3200       14532 :         TALLOC_CTX *_mem_save_first_object_0 = NULL;
    3201             :         uint32_t _ptr_linked_attributes;
    3202       14532 :         uint32_t size_linked_attributes_1 = 0;
    3203             :         uint32_t cntr_linked_attributes_1;
    3204       14532 :         TALLOC_CTX *_mem_save_linked_attributes_0 = NULL;
    3205       14532 :         TALLOC_CTX *_mem_save_linked_attributes_1 = NULL;
    3206       14532 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3207       14532 :         if (ndr_flags & NDR_SCALARS) {
    3208        7266 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    3209        7266 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
    3210        7266 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
    3211        7266 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
    3212        7266 :                 if (_ptr_naming_context) {
    3213        4828 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    3214             :                 } else {
    3215        2438 :                         r->naming_context = NULL;
    3216             :                 }
    3217        7266 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
    3218        7266 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
    3219        7266 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
    3220        7266 :                 if (_ptr_uptodateness_vector) {
    3221        2951 :                         NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
    3222             :                 } else {
    3223        4315 :                         r->uptodateness_vector = NULL;
    3224             :                 }
    3225        7266 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
    3226        7266 :                 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
    3227        7266 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
    3228        7266 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
    3229        7266 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
    3230        7266 :                 if (_ptr_first_object) {
    3231        3832 :                         NDR_PULL_ALLOC(ndr, r->first_object);
    3232             :                 } else {
    3233        3434 :                         r->first_object = NULL;
    3234             :                 }
    3235        7266 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
    3236        7266 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
    3237        7266 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
    3238        7266 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
    3239        7266 :                 if (r->linked_attributes_count > 1048576) {
    3240           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    3241             :                 }
    3242        7266 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
    3243        7266 :                 if (_ptr_linked_attributes) {
    3244        7266 :                         NDR_PULL_ALLOC(ndr, r->linked_attributes);
    3245             :                 } else {
    3246           0 :                         r->linked_attributes = NULL;
    3247             :                 }
    3248        7266 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
    3249        7266 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    3250             :         }
    3251       14532 :         if (ndr_flags & NDR_BUFFERS) {
    3252        7266 :                 if (r->naming_context) {
    3253        4828 :                         _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3254        4828 :                         NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    3255        4828 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    3256        4828 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    3257             :                 }
    3258        7266 :                 if (r->uptodateness_vector) {
    3259        2951 :                         _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3260        2951 :                         NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
    3261        2951 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
    3262        2951 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
    3263             :                 }
    3264        7266 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
    3265        7266 :                 if (r->first_object) {
    3266        3832 :                         _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3267        3832 :                         NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
    3268        3832 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
    3269        3832 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
    3270             :                 }
    3271        7266 :                 if (r->linked_attributes) {
    3272        7266 :                         _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3273        7266 :                         NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
    3274        7266 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
    3275        7266 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->linked_attributes, &size_linked_attributes_1));
    3276        7266 :                         NDR_PULL_ALLOC_N(ndr, r->linked_attributes, size_linked_attributes_1);
    3277        7266 :                         _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
    3278        7266 :                         NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
    3279       23084 :                         for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (size_linked_attributes_1); cntr_linked_attributes_1++) {
    3280       15818 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
    3281             :                         }
    3282       23084 :                         for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (size_linked_attributes_1); cntr_linked_attributes_1++) {
    3283       15818 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
    3284             :                         }
    3285        7266 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
    3286        7266 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
    3287             :                 }
    3288        7266 :                 if (r->linked_attributes) {
    3289        7266 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
    3290             :                 }
    3291        7514 :                 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (size_linked_attributes_1); cntr_linked_attributes_1++) {
    3292             :                 }
    3293             :         }
    3294       14532 :         return NDR_ERR_SUCCESS;
    3295             : }
    3296             : 
    3297           0 : static void ndr_print_flags_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesCtr6 *r)
    3298             : {
    3299           0 :         ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, name, r);
    3300           0 : }
    3301             : 
    3302         104 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
    3303             : {
    3304             :         uint32_t cntr_linked_attributes_1;
    3305         104 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
    3306         104 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3307         104 :         ndr->depth++;
    3308         104 :         ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
    3309         104 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
    3310         104 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    3311         104 :         ndr->depth++;
    3312         104 :         if (r->naming_context) {
    3313         104 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    3314             :         }
    3315         104 :         ndr->depth--;
    3316         104 :         ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
    3317         104 :         ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
    3318         104 :         ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
    3319         104 :         ndr->depth++;
    3320         104 :         if (r->uptodateness_vector) {
    3321          12 :                 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
    3322             :         }
    3323         104 :         ndr->depth--;
    3324         104 :         ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
    3325         104 :         ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
    3326         104 :         ndr_print_uint32(ndr, "object_count", r->object_count);
    3327         104 :         ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->flags) + 55:r->__ndr_size);
    3328         104 :         ndr_print_ptr(ndr, "first_object", r->first_object);
    3329         104 :         ndr->depth++;
    3330         104 :         if (r->first_object) {
    3331         104 :                 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
    3332             :         }
    3333         104 :         ndr->depth--;
    3334         104 :         ndr_print_uint32(ndr, "more_data", r->more_data);
    3335         104 :         ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
    3336         104 :         ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
    3337         104 :         ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
    3338         104 :         ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
    3339         104 :         ndr->depth++;
    3340         104 :         if (r->linked_attributes) {
    3341         104 :                 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
    3342         104 :                 ndr->depth++;
    3343         286 :                 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (r->linked_attributes_count); cntr_linked_attributes_1++) {
    3344         182 :                         ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
    3345             :                 }
    3346         104 :                 ndr->depth--;
    3347             :         }
    3348         104 :         ndr->depth--;
    3349         104 :         ndr_print_WERROR(ndr, "drs_error", r->drs_error);
    3350         104 :         ndr->depth--;
    3351             : }
    3352             : 
    3353       14576 : _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, int flags)
    3354             : {
    3355       14576 :         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6);
    3356             : }
    3357             : 
    3358           0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
    3359             : {
    3360           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3361           0 :         if (ndr_flags & NDR_SCALARS) {
    3362           0 :                 NDR_CHECK(ndr_push_align(ndr, 1));
    3363             :                 {
    3364             :                         struct ndr_push *_ndr_ctr1;
    3365           0 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
    3366           0 :                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
    3367           0 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
    3368             :                 }
    3369           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    3370             :         }
    3371           0 :         if (ndr_flags & NDR_BUFFERS) {
    3372             :         }
    3373           0 :         return NDR_ERR_SUCCESS;
    3374             : }
    3375             : 
    3376           0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
    3377             : {
    3378           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3379           0 :         if (ndr_flags & NDR_SCALARS) {
    3380           0 :                 NDR_CHECK(ndr_pull_align(ndr, 1));
    3381             :                 {
    3382             :                         struct ndr_pull *_ndr_ctr1;
    3383           0 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
    3384           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
    3385           0 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
    3386             :                 }
    3387           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    3388             :         }
    3389           0 :         if (ndr_flags & NDR_BUFFERS) {
    3390             :         }
    3391           0 :         return NDR_ERR_SUCCESS;
    3392             : }
    3393             : 
    3394           0 : static void ndr_print_flags_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesCtr1TS *r)
    3395             : {
    3396           0 :         ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, name, r);
    3397           0 : }
    3398             : 
    3399           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
    3400             : {
    3401           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
    3402           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3403           0 :         ndr->depth++;
    3404           0 :         ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
    3405           0 :         ndr->depth--;
    3406             : }
    3407             : 
    3408           0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
    3409             : {
    3410           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3411           0 :         if (ndr_flags & NDR_SCALARS) {
    3412           0 :                 NDR_CHECK(ndr_push_align(ndr, 1));
    3413             :                 {
    3414             :                         struct ndr_push *_ndr_ctr6;
    3415           0 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
    3416           0 :                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
    3417           0 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
    3418             :                 }
    3419           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    3420             :         }
    3421           0 :         if (ndr_flags & NDR_BUFFERS) {
    3422             :         }
    3423           0 :         return NDR_ERR_SUCCESS;
    3424             : }
    3425             : 
    3426           0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
    3427             : {
    3428           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3429           0 :         if (ndr_flags & NDR_SCALARS) {
    3430           0 :                 NDR_CHECK(ndr_pull_align(ndr, 1));
    3431             :                 {
    3432             :                         struct ndr_pull *_ndr_ctr6;
    3433           0 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
    3434           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
    3435           0 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
    3436             :                 }
    3437           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    3438             :         }
    3439           0 :         if (ndr_flags & NDR_BUFFERS) {
    3440             :         }
    3441           0 :         return NDR_ERR_SUCCESS;
    3442             : }
    3443             : 
    3444           0 : static void ndr_print_flags_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesCtr6TS *r)
    3445             : {
    3446           0 :         ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, name, r);
    3447           0 : }
    3448             : 
    3449           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
    3450             : {
    3451           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
    3452           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3453           0 :         ndr->depth++;
    3454           0 :         ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
    3455           0 :         ndr->depth--;
    3456             : }
    3457             : 
    3458           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
    3459             : {
    3460             :         uint32_t _ptr_ts;
    3461           0 :         TALLOC_CTX *_mem_save_ts_0 = NULL;
    3462           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3463           0 :         if (ndr_flags & NDR_SCALARS) {
    3464           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3465           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
    3466           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
    3467           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
    3468           0 :                 if (_ptr_ts) {
    3469           0 :                         NDR_PULL_ALLOC(ndr, r->ts);
    3470             :                 } else {
    3471           0 :                         r->ts = NULL;
    3472             :                 }
    3473           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3474             :         }
    3475           0 :         if (ndr_flags & NDR_BUFFERS) {
    3476           0 :                 if (r->ts) {
    3477           0 :                         _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3478           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
    3479             :                         {
    3480             :                                 struct ndr_pull *_ndr_ts;
    3481           0 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
    3482             :                                 {
    3483             :                                         struct ndr_pull *_ndr_ts_compressed;
    3484           0 :                                         NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length, r->compressed_length));
    3485           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
    3486           0 :                                         NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
    3487             :                                 }
    3488           0 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
    3489             :                         }
    3490           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
    3491             :                 }
    3492             :         }
    3493           0 :         return NDR_ERR_SUCCESS;
    3494             : }
    3495             : 
    3496           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
    3497             : {
    3498           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
    3499           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3500           0 :         ndr->depth++;
    3501           0 :         ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
    3502           0 :         ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
    3503           0 :         ndr_print_ptr(ndr, "ts", r->ts);
    3504           0 :         ndr->depth++;
    3505           0 :         if (r->ts) {
    3506           0 :                 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
    3507             :         }
    3508           0 :         ndr->depth--;
    3509           0 :         ndr->depth--;
    3510             : }
    3511             : 
    3512           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
    3513             : {
    3514             :         uint32_t _ptr_ts;
    3515           0 :         TALLOC_CTX *_mem_save_ts_0 = NULL;
    3516           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3517           0 :         if (ndr_flags & NDR_SCALARS) {
    3518           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3519           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
    3520           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
    3521           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
    3522           0 :                 if (_ptr_ts) {
    3523           0 :                         NDR_PULL_ALLOC(ndr, r->ts);
    3524             :                 } else {
    3525           0 :                         r->ts = NULL;
    3526             :                 }
    3527           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3528             :         }
    3529           0 :         if (ndr_flags & NDR_BUFFERS) {
    3530           0 :                 if (r->ts) {
    3531           0 :                         _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3532           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
    3533             :                         {
    3534             :                                 struct ndr_pull *_ndr_ts;
    3535           0 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
    3536             :                                 {
    3537             :                                         struct ndr_pull *_ndr_ts_compressed;
    3538           0 :                                         NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length, r->compressed_length));
    3539           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
    3540           0 :                                         NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
    3541             :                                 }
    3542           0 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
    3543             :                         }
    3544           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
    3545             :                 }
    3546             :         }
    3547           0 :         return NDR_ERR_SUCCESS;
    3548             : }
    3549             : 
    3550           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
    3551             : {
    3552           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
    3553           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3554           0 :         ndr->depth++;
    3555           0 :         ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
    3556           0 :         ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
    3557           0 :         ndr_print_ptr(ndr, "ts", r->ts);
    3558           0 :         ndr->depth++;
    3559           0 :         if (r->ts) {
    3560           0 :                 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
    3561             :         }
    3562           0 :         ndr->depth--;
    3563           0 :         ndr->depth--;
    3564             : }
    3565             : 
    3566           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
    3567             : {
    3568             :         uint32_t _ptr_ts;
    3569           0 :         TALLOC_CTX *_mem_save_ts_0 = NULL;
    3570           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3571           0 :         if (ndr_flags & NDR_SCALARS) {
    3572           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3573           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
    3574           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
    3575           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
    3576           0 :                 if (_ptr_ts) {
    3577           0 :                         NDR_PULL_ALLOC(ndr, r->ts);
    3578             :                 } else {
    3579           0 :                         r->ts = NULL;
    3580             :                 }
    3581           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3582             :         }
    3583           0 :         if (ndr_flags & NDR_BUFFERS) {
    3584           0 :                 if (r->ts) {
    3585           0 :                         _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3586           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
    3587             :                         {
    3588             :                                 struct ndr_pull *_ndr_ts;
    3589           0 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
    3590             :                                 {
    3591             :                                         struct ndr_pull *_ndr_ts_compressed;
    3592           0 :                                         NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length, r->compressed_length));
    3593           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
    3594           0 :                                         NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
    3595             :                                 }
    3596           0 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
    3597             :                         }
    3598           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
    3599             :                 }
    3600             :         }
    3601           0 :         return NDR_ERR_SUCCESS;
    3602             : }
    3603             : 
    3604           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
    3605             : {
    3606           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
    3607           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3608           0 :         ndr->depth++;
    3609           0 :         ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
    3610           0 :         ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
    3611           0 :         ndr_print_ptr(ndr, "ts", r->ts);
    3612           0 :         ndr->depth++;
    3613           0 :         if (r->ts) {
    3614           0 :                 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
    3615             :         }
    3616           0 :         ndr->depth--;
    3617           0 :         ndr->depth--;
    3618             : }
    3619             : 
    3620           2 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
    3621             : {
    3622             :         uint32_t _ptr_ts;
    3623           2 :         TALLOC_CTX *_mem_save_ts_0 = NULL;
    3624           2 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3625           2 :         if (ndr_flags & NDR_SCALARS) {
    3626           1 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3627           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
    3628           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
    3629           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
    3630           1 :                 if (_ptr_ts) {
    3631           1 :                         NDR_PULL_ALLOC(ndr, r->ts);
    3632             :                 } else {
    3633           0 :                         r->ts = NULL;
    3634             :                 }
    3635           1 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3636             :         }
    3637           2 :         if (ndr_flags & NDR_BUFFERS) {
    3638           1 :                 if (r->ts) {
    3639           1 :                         _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3640           1 :                         NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
    3641             :                         {
    3642             :                                 struct ndr_pull *_ndr_ts;
    3643           2 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
    3644             :                                 {
    3645             :                                         struct ndr_pull *_ndr_ts_compressed;
    3646           2 :                                         NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length, r->compressed_length));
    3647           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
    3648           0 :                                         NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
    3649             :                                 }
    3650           0 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
    3651             :                         }
    3652           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
    3653             :                 }
    3654             :         }
    3655           0 :         return NDR_ERR_SUCCESS;
    3656             : }
    3657             : 
    3658           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
    3659             : {
    3660           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
    3661           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3662           0 :         ndr->depth++;
    3663           0 :         ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
    3664           0 :         ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
    3665           0 :         ndr_print_ptr(ndr, "ts", r->ts);
    3666           0 :         ndr->depth++;
    3667           0 :         if (r->ts) {
    3668           0 :                 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
    3669             :         }
    3670           0 :         ndr->depth--;
    3671           0 :         ndr->depth--;
    3672             : }
    3673             : 
    3674           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
    3675             : {
    3676           0 :         NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
    3677           0 :         return NDR_ERR_SUCCESS;
    3678             : }
    3679             : 
    3680           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
    3681             : {
    3682             :         uint16_t v;
    3683           1 :         NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
    3684           1 :         *r = v;
    3685           0 :         return NDR_ERR_SUCCESS;
    3686             : }
    3687             : 
    3688           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
    3689             : {
    3690           0 :         const char *val = NULL;
    3691             : 
    3692           0 :         switch (r) {
    3693           0 :                 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
    3694           0 :                 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
    3695             :         }
    3696           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    3697           0 : }
    3698             : 
    3699           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
    3700             : {
    3701             :         uint32_t level;
    3702             :         {
    3703           0 :                 uint32_t _flags_save_UNION = ndr->flags;
    3704           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3705           0 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3706           0 :                 if (ndr_flags & NDR_SCALARS) {
    3707             :                         /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3708           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3709           0 :                         NDR_CHECK(ndr_push_union_align(ndr, 5));
    3710           0 :                         switch (level) {
    3711           0 :                                 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
    3712           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
    3713           0 :                                 break; }
    3714             : 
    3715           0 :                                 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
    3716           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
    3717           0 :                                 break; }
    3718             : 
    3719           0 :                                 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
    3720           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
    3721           0 :                                 break; }
    3722             : 
    3723           0 :                                 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
    3724           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
    3725           0 :                                 break; }
    3726             : 
    3727           0 :                                 default:
    3728           0 :                                         return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    3729             :                         }
    3730           0 :                 }
    3731           0 :                 if (ndr_flags & NDR_BUFFERS) {
    3732           0 :                         if (!(ndr_flags & NDR_SCALARS)) {
    3733             :                                 /* We didn't get it above, and the token is not needed after this. */
    3734           0 :                                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3735             :                         }
    3736           0 :                         switch (level) {
    3737           0 :                                 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
    3738           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
    3739           0 :                                 break;
    3740             : 
    3741           0 :                                 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
    3742           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
    3743           0 :                                 break;
    3744             : 
    3745           0 :                                 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
    3746           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
    3747           0 :                                 break;
    3748             : 
    3749           0 :                                 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
    3750           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
    3751           0 :                                 break;
    3752             : 
    3753           0 :                                 default:
    3754           0 :                                         return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    3755             :                         }
    3756           0 :                 }
    3757           0 :                 ndr->flags = _flags_save_UNION;
    3758             :         }
    3759           0 :         return NDR_ERR_SUCCESS;
    3760             : }
    3761             : 
    3762           2 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
    3763             : {
    3764             :         uint32_t level;
    3765             :         {
    3766           2 :                 uint32_t _flags_save_UNION = ndr->flags;
    3767           2 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3768           2 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3769           2 :                 if (ndr_flags & NDR_SCALARS) {
    3770             :                         /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3771           1 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3772           1 :                         NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3773           1 :                         switch (level) {
    3774           0 :                                 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
    3775           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
    3776           0 :                                 break; }
    3777             : 
    3778           0 :                                 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
    3779           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
    3780           0 :                                 break; }
    3781             : 
    3782           0 :                                 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
    3783           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
    3784           0 :                                 break; }
    3785             : 
    3786           1 :                                 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
    3787           1 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
    3788           0 :                                 break; }
    3789             : 
    3790           0 :                                 default:
    3791           0 :                                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    3792             :                         }
    3793           1 :                 }
    3794           2 :                 if (ndr_flags & NDR_BUFFERS) {
    3795           1 :                         if (!(ndr_flags & NDR_SCALARS)) {
    3796             :                                 /* We didn't get it above, and the token is not needed after this. */
    3797           1 :                                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3798             :                         }
    3799           1 :                         switch (level) {
    3800           0 :                                 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
    3801           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
    3802           0 :                                 break;
    3803             : 
    3804           0 :                                 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
    3805           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
    3806           0 :                                 break;
    3807             : 
    3808           0 :                                 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
    3809           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
    3810           0 :                                 break;
    3811             : 
    3812           1 :                                 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
    3813           1 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
    3814           0 :                                 break;
    3815             : 
    3816           0 :                                 default:
    3817           0 :                                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    3818             :                         }
    3819           1 :                 }
    3820           1 :                 ndr->flags = _flags_save_UNION;
    3821             :         }
    3822           1 :         return NDR_ERR_SUCCESS;
    3823             : }
    3824             : 
    3825           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
    3826             : {
    3827             :         uint32_t level;
    3828             :         {
    3829           0 :                 uint32_t _flags_save_UNION = ndr->flags;
    3830           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3831           0 :                 level = ndr_print_steal_switch_value(ndr, r);
    3832           0 :                 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
    3833           0 :                 switch (level) {
    3834           0 :                         case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
    3835           0 :                                 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
    3836           0 :                         break;
    3837             : 
    3838           0 :                         case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
    3839           0 :                                 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
    3840           0 :                         break;
    3841             : 
    3842           0 :                         case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
    3843           0 :                                 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
    3844           0 :                         break;
    3845             : 
    3846           0 :                         case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
    3847           0 :                                 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
    3848           0 :                         break;
    3849             : 
    3850           0 :                         default:
    3851           0 :                                 ndr_print_bad_level(ndr, name, level);
    3852             :                 }
    3853           0 :                 ndr->flags = _flags_save_UNION;
    3854             :         }
    3855           0 : }
    3856             : 
    3857           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
    3858             : {
    3859           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3860           0 :         if (ndr_flags & NDR_SCALARS) {
    3861           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3862           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
    3863           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3864             :         }
    3865           0 :         if (ndr_flags & NDR_BUFFERS) {
    3866           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
    3867             :         }
    3868           0 :         return NDR_ERR_SUCCESS;
    3869             : }
    3870             : 
    3871           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
    3872             : {
    3873           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3874           0 :         if (ndr_flags & NDR_SCALARS) {
    3875           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3876           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
    3877           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3878             :         }
    3879           0 :         if (ndr_flags & NDR_BUFFERS) {
    3880           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
    3881             :         }
    3882           0 :         return NDR_ERR_SUCCESS;
    3883             : }
    3884             : 
    3885           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
    3886             : {
    3887           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
    3888           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3889           0 :         ndr->depth++;
    3890           0 :         ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
    3891           0 :         ndr->depth--;
    3892             : }
    3893             : 
    3894           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
    3895             : {
    3896           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3897           0 :         if (ndr_flags & NDR_SCALARS) {
    3898           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3899           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
    3900           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
    3901           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
    3902           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
    3903           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3904             :         }
    3905           0 :         if (ndr_flags & NDR_BUFFERS) {
    3906           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
    3907           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
    3908             :         }
    3909           0 :         return NDR_ERR_SUCCESS;
    3910             : }
    3911             : 
    3912           2 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
    3913             : {
    3914           2 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3915           2 :         if (ndr_flags & NDR_SCALARS) {
    3916           1 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3917           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
    3918           1 :                 if (r->level > 6) {
    3919           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    3920             :                 }
    3921           2 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
    3922           1 :                 if (r->type < 2 || r->type > 3) {
    3923           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    3924             :                 }
    3925           1 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
    3926           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
    3927           1 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3928             :         }
    3929           2 :         if (ndr_flags & NDR_BUFFERS) {
    3930           1 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
    3931           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
    3932             :         }
    3933           0 :         return NDR_ERR_SUCCESS;
    3934             : }
    3935             : 
    3936           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
    3937             : {
    3938           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
    3939           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3940           0 :         ndr->depth++;
    3941           0 :         ndr_print_uint32(ndr, "level", r->level);
    3942           0 :         ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
    3943           0 :         ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
    3944           0 :         ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
    3945           0 :         ndr->depth--;
    3946             : }
    3947             : 
    3948        7288 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
    3949             : {
    3950             :         uint32_t level;
    3951        7288 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3952        7288 :         if (ndr_flags & NDR_SCALARS) {
    3953             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3954        7288 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3955        7288 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    3956        7288 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    3957        7288 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    3958        7288 :                 switch (level) {
    3959           0 :                         case 1: {
    3960           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
    3961           0 :                         break; }
    3962             : 
    3963           0 :                         case 2: {
    3964           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
    3965           0 :                         break; }
    3966             : 
    3967        7288 :                         case 6: {
    3968        7288 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
    3969        7288 :                         break; }
    3970             : 
    3971           0 :                         case 7: {
    3972           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
    3973           0 :                         break; }
    3974             : 
    3975           0 :                         default:
    3976           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    3977             :                 }
    3978           0 :         }
    3979        7288 :         if (ndr_flags & NDR_BUFFERS) {
    3980        7288 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3981             :                         /* We didn't get it above, and the token is not needed after this. */
    3982           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3983             :                 }
    3984        7288 :                 switch (level) {
    3985           0 :                         case 1:
    3986           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
    3987           0 :                         break;
    3988             : 
    3989           0 :                         case 2:
    3990           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
    3991           0 :                         break;
    3992             : 
    3993        7288 :                         case 6:
    3994        7288 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
    3995        7288 :                         break;
    3996             : 
    3997           0 :                         case 7:
    3998           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
    3999           0 :                         break;
    4000             : 
    4001           0 :                         default:
    4002           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4003             :                 }
    4004           0 :         }
    4005        7288 :         return NDR_ERR_SUCCESS;
    4006             : }
    4007             : 
    4008        7268 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
    4009             : {
    4010             :         uint32_t level;
    4011             :         uint32_t _level;
    4012        7268 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4013        7268 :         if (ndr_flags & NDR_SCALARS) {
    4014             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4015        7268 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4016        7268 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    4017        7268 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    4018        7268 :                 if (_level != level) {
    4019           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    4020             :                 }
    4021        7268 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    4022        7268 :                 switch (level) {
    4023           1 :                         case 1: {
    4024           1 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
    4025           0 :                         break; }
    4026             : 
    4027           0 :                         case 2: {
    4028           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
    4029           0 :                         break; }
    4030             : 
    4031        7266 :                         case 6: {
    4032        7266 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
    4033        7266 :                         break; }
    4034             : 
    4035           1 :                         case 7: {
    4036           1 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
    4037           0 :                         break; }
    4038             : 
    4039           0 :                         default:
    4040           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4041             :                 }
    4042           0 :         }
    4043        7268 :         if (ndr_flags & NDR_BUFFERS) {
    4044        7268 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4045             :                         /* We didn't get it above, and the token is not needed after this. */
    4046           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4047             :                 }
    4048        7268 :                 switch (level) {
    4049           1 :                         case 1:
    4050           1 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
    4051           0 :                         break;
    4052             : 
    4053           0 :                         case 2:
    4054           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
    4055           0 :                         break;
    4056             : 
    4057        7266 :                         case 6:
    4058        7266 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
    4059        7266 :                         break;
    4060             : 
    4061           1 :                         case 7:
    4062           1 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
    4063           0 :                         break;
    4064             : 
    4065           0 :                         default:
    4066           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4067             :                 }
    4068           0 :         }
    4069        7266 :         return NDR_ERR_SUCCESS;
    4070             : }
    4071             : 
    4072         105 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
    4073             : {
    4074             :         uint32_t level;
    4075         105 :         level = ndr_print_steal_switch_value(ndr, r);
    4076         105 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
    4077         105 :         switch (level) {
    4078           1 :                 case 1:
    4079           1 :                         ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
    4080           1 :                 break;
    4081             : 
    4082           0 :                 case 2:
    4083           0 :                         ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
    4084           0 :                 break;
    4085             : 
    4086         104 :                 case 6:
    4087         104 :                         ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
    4088         104 :                 break;
    4089             : 
    4090           0 :                 case 7:
    4091           0 :                         ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
    4092           0 :                 break;
    4093             : 
    4094           0 :                 default:
    4095           0 :                         ndr_print_bad_level(ndr, name, level);
    4096             :         }
    4097         105 : }
    4098             : 
    4099        3880 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
    4100             : {
    4101        3880 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4102        3880 :         if (ndr_flags & NDR_SCALARS) {
    4103        1940 :                 if (r->naming_context == NULL) {
    4104           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    4105             :                 }
    4106        1940 :                 if (r->dest_dsa_dns_name == NULL) {
    4107           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    4108             :                 }
    4109        1940 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4110        1940 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
    4111        1940 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->dest_dsa_dns_name */
    4112        1940 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
    4113        1940 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
    4114        1940 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4115             :         }
    4116        3880 :         if (ndr_flags & NDR_BUFFERS) {
    4117        1940 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4118        1940 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
    4119        1940 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    4120        1940 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
    4121        1940 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dest_dsa_dns_name, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS), sizeof(uint8_t), CH_DOS));
    4122             :         }
    4123        3880 :         return NDR_ERR_SUCCESS;
    4124             : }
    4125             : 
    4126        3880 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
    4127             : {
    4128             :         uint32_t _ptr_naming_context;
    4129        3880 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    4130             :         uint32_t _ptr_dest_dsa_dns_name;
    4131        3880 :         uint32_t size_dest_dsa_dns_name_1 = 0;
    4132        3880 :         uint32_t length_dest_dsa_dns_name_1 = 0;
    4133        3880 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4134        3880 :         if (ndr_flags & NDR_SCALARS) {
    4135        1940 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4136        1940 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
    4137        1940 :                 if (_ptr_naming_context) {
    4138        1940 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    4139             :                 } else {
    4140           0 :                         r->naming_context = NULL;
    4141             :                 }
    4142        1940 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
    4143        1940 :                 if (_ptr_dest_dsa_dns_name) {
    4144        1940 :                         NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
    4145             :                 } else {
    4146           0 :                         r->dest_dsa_dns_name = NULL;
    4147             :                 }
    4148        1940 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
    4149        1940 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
    4150        1940 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4151             :         }
    4152        3880 :         if (ndr_flags & NDR_BUFFERS) {
    4153        1940 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4154        1940 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    4155        1940 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4156        1940 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    4157        1940 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
    4158        1940 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
    4159        1940 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dest_dsa_dns_name, &size_dest_dsa_dns_name_1));
    4160        1940 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dest_dsa_dns_name, &length_dest_dsa_dns_name_1));
    4161        1940 :                 if (length_dest_dsa_dns_name_1 > size_dest_dsa_dns_name_1) {
    4162           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dest_dsa_dns_name_1, length_dest_dsa_dns_name_1);
    4163             :                 }
    4164        1940 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_dest_dsa_dns_name_1, sizeof(uint8_t)));
    4165        1940 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, length_dest_dsa_dns_name_1, sizeof(uint8_t), CH_DOS));
    4166             :         }
    4167        3880 :         return NDR_ERR_SUCCESS;
    4168             : }
    4169             : 
    4170           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
    4171             : {
    4172           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
    4173           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4174           0 :         ndr->depth++;
    4175           0 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    4176           0 :         ndr->depth++;
    4177           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    4178           0 :         ndr->depth--;
    4179           0 :         ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
    4180           0 :         ndr->depth++;
    4181           0 :         ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
    4182           0 :         ndr->depth--;
    4183           0 :         ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
    4184           0 :         ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
    4185           0 :         ndr->depth--;
    4186             : }
    4187             : 
    4188        1940 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
    4189             : {
    4190             :         uint32_t level;
    4191        1940 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4192        1940 :         if (ndr_flags & NDR_SCALARS) {
    4193             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4194        1940 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4195        1940 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4196        1940 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    4197        1940 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4198        1940 :                 switch (level) {
    4199        1940 :                         case 1: {
    4200        1940 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
    4201        1940 :                         break; }
    4202             : 
    4203           0 :                         default:
    4204           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4205             :                 }
    4206           0 :         }
    4207        1940 :         if (ndr_flags & NDR_BUFFERS) {
    4208        1940 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4209             :                         /* We didn't get it above, and the token is not needed after this. */
    4210           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4211             :                 }
    4212        1940 :                 switch (level) {
    4213        1940 :                         case 1:
    4214        1940 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
    4215        1940 :                         break;
    4216             : 
    4217           0 :                         default:
    4218           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4219             :                 }
    4220           0 :         }
    4221        1940 :         return NDR_ERR_SUCCESS;
    4222             : }
    4223             : 
    4224        1940 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
    4225             : {
    4226             :         uint32_t level;
    4227             :         uint32_t _level;
    4228        1940 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4229        1940 :         if (ndr_flags & NDR_SCALARS) {
    4230             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4231        1940 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4232        1940 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4233        1940 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    4234        1940 :                 if (_level != level) {
    4235           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    4236             :                 }
    4237        1940 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4238        1940 :                 switch (level) {
    4239        1940 :                         case 1: {
    4240        1940 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
    4241        1940 :                         break; }
    4242             : 
    4243           0 :                         default:
    4244           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4245             :                 }
    4246           0 :         }
    4247        1940 :         if (ndr_flags & NDR_BUFFERS) {
    4248        1940 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4249             :                         /* We didn't get it above, and the token is not needed after this. */
    4250           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4251             :                 }
    4252        1940 :                 switch (level) {
    4253        1940 :                         case 1:
    4254        1940 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
    4255        1940 :                         break;
    4256             : 
    4257           0 :                         default:
    4258           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4259             :                 }
    4260           0 :         }
    4261        1940 :         return NDR_ERR_SUCCESS;
    4262             : }
    4263             : 
    4264           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
    4265             : {
    4266             :         uint32_t level;
    4267           0 :         level = ndr_print_steal_switch_value(ndr, r);
    4268           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
    4269           0 :         switch (level) {
    4270           0 :                 case 1:
    4271           0 :                         ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
    4272           0 :                 break;
    4273             : 
    4274           0 :                 default:
    4275           0 :                         ndr_print_bad_level(ndr, name, level);
    4276             :         }
    4277           0 : }
    4278             : 
    4279           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
    4280             : {
    4281           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4282           0 :         if (ndr_flags & NDR_SCALARS) {
    4283           0 :                 if (r->naming_context == NULL) {
    4284           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    4285             :                 }
    4286           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4287           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
    4288           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
    4289           0 :                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
    4290           0 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
    4291           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4292             :         }
    4293           0 :         if (ndr_flags & NDR_BUFFERS) {
    4294           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4295           0 :                 if (r->source_dsa_address) {
    4296           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
    4297           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    4298           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
    4299           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    4300             :                 }
    4301             :         }
    4302           0 :         return NDR_ERR_SUCCESS;
    4303             : }
    4304             : 
    4305           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
    4306             : {
    4307             :         uint32_t _ptr_naming_context;
    4308           0 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    4309             :         uint32_t _ptr_source_dsa_address;
    4310           0 :         uint32_t size_source_dsa_address_1 = 0;
    4311           0 :         uint32_t length_source_dsa_address_1 = 0;
    4312           0 :         TALLOC_CTX *_mem_save_source_dsa_address_0 = NULL;
    4313           0 :         uint32_t size_schedule_0 = 0;
    4314           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4315           0 :         if (ndr_flags & NDR_SCALARS) {
    4316           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4317           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
    4318           0 :                 if (_ptr_naming_context) {
    4319           0 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    4320             :                 } else {
    4321           0 :                         r->naming_context = NULL;
    4322             :                 }
    4323           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
    4324           0 :                 if (_ptr_source_dsa_address) {
    4325           0 :                         NDR_PULL_ALLOC(ndr, r->source_dsa_address);
    4326             :                 } else {
    4327           0 :                         r->source_dsa_address = NULL;
    4328             :                 }
    4329           0 :                 size_schedule_0 = 84;
    4330           0 :                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
    4331           0 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
    4332           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4333             :         }
    4334           0 :         if (ndr_flags & NDR_BUFFERS) {
    4335           0 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4336           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    4337           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4338           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    4339           0 :                 if (r->source_dsa_address) {
    4340           0 :                         _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4341           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
    4342           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
    4343           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
    4344           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_address, &size_source_dsa_address_1));
    4345           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_address, &length_source_dsa_address_1));
    4346           0 :                         if (length_source_dsa_address_1 > size_source_dsa_address_1) {
    4347           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
    4348             :                         }
    4349           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
    4350           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
    4351           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
    4352             :                 }
    4353             :         }
    4354           0 :         return NDR_ERR_SUCCESS;
    4355             : }
    4356             : 
    4357           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
    4358             : {
    4359           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
    4360           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4361           0 :         ndr->depth++;
    4362           0 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    4363           0 :         ndr->depth++;
    4364           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    4365           0 :         ndr->depth--;
    4366           0 :         ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
    4367           0 :         ndr->depth++;
    4368           0 :         if (r->source_dsa_address) {
    4369           0 :                 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
    4370             :         }
    4371           0 :         ndr->depth--;
    4372           0 :         ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
    4373           0 :         ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
    4374           0 :         ndr->depth--;
    4375             : }
    4376             : 
    4377           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
    4378             : {
    4379           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4380           0 :         if (ndr_flags & NDR_SCALARS) {
    4381           0 :                 if (r->naming_context == NULL) {
    4382           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    4383             :                 }
    4384           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4385           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
    4386           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
    4387           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
    4388           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
    4389           0 :                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
    4390           0 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
    4391           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4392             :         }
    4393           0 :         if (ndr_flags & NDR_BUFFERS) {
    4394           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4395           0 :                 if (r->source_dsa_dn) {
    4396           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
    4397             :                 }
    4398           0 :                 if (r->transport_dn) {
    4399           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
    4400             :                 }
    4401           0 :                 if (r->source_dsa_address) {
    4402           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
    4403           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    4404           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
    4405           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    4406             :                 }
    4407             :         }
    4408           0 :         return NDR_ERR_SUCCESS;
    4409             : }
    4410             : 
    4411           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
    4412             : {
    4413             :         uint32_t _ptr_naming_context;
    4414           0 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    4415             :         uint32_t _ptr_source_dsa_dn;
    4416           0 :         TALLOC_CTX *_mem_save_source_dsa_dn_0 = NULL;
    4417             :         uint32_t _ptr_transport_dn;
    4418           0 :         TALLOC_CTX *_mem_save_transport_dn_0 = NULL;
    4419             :         uint32_t _ptr_source_dsa_address;
    4420           0 :         uint32_t size_source_dsa_address_1 = 0;
    4421           0 :         uint32_t length_source_dsa_address_1 = 0;
    4422           0 :         TALLOC_CTX *_mem_save_source_dsa_address_0 = NULL;
    4423           0 :         uint32_t size_schedule_0 = 0;
    4424           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4425           0 :         if (ndr_flags & NDR_SCALARS) {
    4426           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4427           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
    4428           0 :                 if (_ptr_naming_context) {
    4429           0 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    4430             :                 } else {
    4431           0 :                         r->naming_context = NULL;
    4432             :                 }
    4433           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
    4434           0 :                 if (_ptr_source_dsa_dn) {
    4435           0 :                         NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
    4436             :                 } else {
    4437           0 :                         r->source_dsa_dn = NULL;
    4438             :                 }
    4439           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
    4440           0 :                 if (_ptr_transport_dn) {
    4441           0 :                         NDR_PULL_ALLOC(ndr, r->transport_dn);
    4442             :                 } else {
    4443           0 :                         r->transport_dn = NULL;
    4444             :                 }
    4445           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
    4446           0 :                 if (_ptr_source_dsa_address) {
    4447           0 :                         NDR_PULL_ALLOC(ndr, r->source_dsa_address);
    4448             :                 } else {
    4449           0 :                         r->source_dsa_address = NULL;
    4450             :                 }
    4451           0 :                 size_schedule_0 = 84;
    4452           0 :                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
    4453           0 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
    4454           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4455             :         }
    4456           0 :         if (ndr_flags & NDR_BUFFERS) {
    4457           0 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4458           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    4459           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4460           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    4461           0 :                 if (r->source_dsa_dn) {
    4462           0 :                         _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4463           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
    4464           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
    4465           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
    4466             :                 }
    4467           0 :                 if (r->transport_dn) {
    4468           0 :                         _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4469           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
    4470           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
    4471           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
    4472             :                 }
    4473           0 :                 if (r->source_dsa_address) {
    4474           0 :                         _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4475           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
    4476           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
    4477           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
    4478           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_address, &size_source_dsa_address_1));
    4479           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_address, &length_source_dsa_address_1));
    4480           0 :                         if (length_source_dsa_address_1 > size_source_dsa_address_1) {
    4481           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
    4482             :                         }
    4483           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
    4484           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
    4485           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
    4486             :                 }
    4487             :         }
    4488           0 :         return NDR_ERR_SUCCESS;
    4489             : }
    4490             : 
    4491           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
    4492             : {
    4493           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
    4494           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4495           0 :         ndr->depth++;
    4496           0 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    4497           0 :         ndr->depth++;
    4498           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    4499           0 :         ndr->depth--;
    4500           0 :         ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
    4501           0 :         ndr->depth++;
    4502           0 :         if (r->source_dsa_dn) {
    4503           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
    4504             :         }
    4505           0 :         ndr->depth--;
    4506           0 :         ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
    4507           0 :         ndr->depth++;
    4508           0 :         if (r->transport_dn) {
    4509           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
    4510             :         }
    4511           0 :         ndr->depth--;
    4512           0 :         ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
    4513           0 :         ndr->depth++;
    4514           0 :         if (r->source_dsa_address) {
    4515           0 :                 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
    4516             :         }
    4517           0 :         ndr->depth--;
    4518           0 :         ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
    4519           0 :         ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
    4520           0 :         ndr->depth--;
    4521             : }
    4522             : 
    4523           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
    4524             : {
    4525             :         uint32_t level;
    4526           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4527           0 :         if (ndr_flags & NDR_SCALARS) {
    4528             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4529           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4530           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4531           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    4532           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4533           0 :                 switch (level) {
    4534           0 :                         case 1: {
    4535           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
    4536           0 :                         break; }
    4537             : 
    4538           0 :                         case 2: {
    4539           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
    4540           0 :                         break; }
    4541             : 
    4542           0 :                         default:
    4543           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4544             :                 }
    4545           0 :         }
    4546           0 :         if (ndr_flags & NDR_BUFFERS) {
    4547           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4548             :                         /* We didn't get it above, and the token is not needed after this. */
    4549           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4550             :                 }
    4551           0 :                 switch (level) {
    4552           0 :                         case 1:
    4553           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
    4554           0 :                         break;
    4555             : 
    4556           0 :                         case 2:
    4557           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
    4558           0 :                         break;
    4559             : 
    4560           0 :                         default:
    4561           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4562             :                 }
    4563           0 :         }
    4564           0 :         return NDR_ERR_SUCCESS;
    4565             : }
    4566             : 
    4567           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
    4568             : {
    4569             :         uint32_t level;
    4570             :         uint32_t _level;
    4571           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4572           0 :         if (ndr_flags & NDR_SCALARS) {
    4573             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4574           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4575           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4576           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    4577           0 :                 if (_level != level) {
    4578           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    4579             :                 }
    4580           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4581           0 :                 switch (level) {
    4582           0 :                         case 1: {
    4583           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
    4584           0 :                         break; }
    4585             : 
    4586           0 :                         case 2: {
    4587           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
    4588           0 :                         break; }
    4589             : 
    4590           0 :                         default:
    4591           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4592             :                 }
    4593           0 :         }
    4594           0 :         if (ndr_flags & NDR_BUFFERS) {
    4595           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4596             :                         /* We didn't get it above, and the token is not needed after this. */
    4597           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4598             :                 }
    4599           0 :                 switch (level) {
    4600           0 :                         case 1:
    4601           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
    4602           0 :                         break;
    4603             : 
    4604           0 :                         case 2:
    4605           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
    4606           0 :                         break;
    4607             : 
    4608           0 :                         default:
    4609           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4610             :                 }
    4611           0 :         }
    4612           0 :         return NDR_ERR_SUCCESS;
    4613             : }
    4614             : 
    4615           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
    4616             : {
    4617             :         uint32_t level;
    4618           0 :         level = ndr_print_steal_switch_value(ndr, r);
    4619           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
    4620           0 :         switch (level) {
    4621           0 :                 case 1:
    4622           0 :                         ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
    4623           0 :                 break;
    4624             : 
    4625           0 :                 case 2:
    4626           0 :                         ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
    4627           0 :                 break;
    4628             : 
    4629           0 :                 default:
    4630           0 :                         ndr_print_bad_level(ndr, name, level);
    4631             :         }
    4632           0 : }
    4633             : 
    4634           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
    4635             : {
    4636           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4637           0 :         if (ndr_flags & NDR_SCALARS) {
    4638           0 :                 if (r->naming_context == NULL) {
    4639           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    4640             :                 }
    4641           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4642           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
    4643           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
    4644           0 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
    4645           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4646             :         }
    4647           0 :         if (ndr_flags & NDR_BUFFERS) {
    4648           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4649           0 :                 if (r->source_dsa_address) {
    4650           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF8)));
    4651           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    4652           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF8)));
    4653           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    4654             :                 }
    4655             :         }
    4656           0 :         return NDR_ERR_SUCCESS;
    4657             : }
    4658             : 
    4659           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
    4660             : {
    4661             :         uint32_t _ptr_naming_context;
    4662           0 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    4663             :         uint32_t _ptr_source_dsa_address;
    4664           0 :         uint32_t size_source_dsa_address_1 = 0;
    4665           0 :         uint32_t length_source_dsa_address_1 = 0;
    4666           0 :         TALLOC_CTX *_mem_save_source_dsa_address_0 = NULL;
    4667           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4668           0 :         if (ndr_flags & NDR_SCALARS) {
    4669           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4670           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
    4671           0 :                 if (_ptr_naming_context) {
    4672           0 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    4673             :                 } else {
    4674           0 :                         r->naming_context = NULL;
    4675             :                 }
    4676           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
    4677           0 :                 if (_ptr_source_dsa_address) {
    4678           0 :                         NDR_PULL_ALLOC(ndr, r->source_dsa_address);
    4679             :                 } else {
    4680           0 :                         r->source_dsa_address = NULL;
    4681             :                 }
    4682           0 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
    4683           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4684             :         }
    4685           0 :         if (ndr_flags & NDR_BUFFERS) {
    4686           0 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4687           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    4688           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4689           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    4690           0 :                 if (r->source_dsa_address) {
    4691           0 :                         _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4692           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
    4693           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
    4694           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
    4695           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_address, &size_source_dsa_address_1));
    4696           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_address, &length_source_dsa_address_1));
    4697           0 :                         if (length_source_dsa_address_1 > size_source_dsa_address_1) {
    4698           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
    4699             :                         }
    4700           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint8_t)));
    4701           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint8_t), CH_UTF8));
    4702           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
    4703             :                 }
    4704             :         }
    4705           0 :         return NDR_ERR_SUCCESS;
    4706             : }
    4707             : 
    4708           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
    4709             : {
    4710           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
    4711           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4712           0 :         ndr->depth++;
    4713           0 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    4714           0 :         ndr->depth++;
    4715           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    4716           0 :         ndr->depth--;
    4717           0 :         ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
    4718           0 :         ndr->depth++;
    4719           0 :         if (r->source_dsa_address) {
    4720           0 :                 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
    4721             :         }
    4722           0 :         ndr->depth--;
    4723           0 :         ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
    4724           0 :         ndr->depth--;
    4725             : }
    4726             : 
    4727           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
    4728             : {
    4729             :         uint32_t level;
    4730           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4731           0 :         if (ndr_flags & NDR_SCALARS) {
    4732             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4733           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4734           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4735           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    4736           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4737           0 :                 switch (level) {
    4738           0 :                         case 1: {
    4739           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
    4740           0 :                         break; }
    4741             : 
    4742           0 :                         default:
    4743           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4744             :                 }
    4745           0 :         }
    4746           0 :         if (ndr_flags & NDR_BUFFERS) {
    4747           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4748             :                         /* We didn't get it above, and the token is not needed after this. */
    4749           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4750             :                 }
    4751           0 :                 switch (level) {
    4752           0 :                         case 1:
    4753           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
    4754           0 :                         break;
    4755             : 
    4756           0 :                         default:
    4757           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4758             :                 }
    4759           0 :         }
    4760           0 :         return NDR_ERR_SUCCESS;
    4761             : }
    4762             : 
    4763           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
    4764             : {
    4765             :         uint32_t level;
    4766             :         uint32_t _level;
    4767           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4768           0 :         if (ndr_flags & NDR_SCALARS) {
    4769             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4770           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4771           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4772           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    4773           0 :                 if (_level != level) {
    4774           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    4775             :                 }
    4776           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4777           0 :                 switch (level) {
    4778           0 :                         case 1: {
    4779           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
    4780           0 :                         break; }
    4781             : 
    4782           0 :                         default:
    4783           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4784             :                 }
    4785           0 :         }
    4786           0 :         if (ndr_flags & NDR_BUFFERS) {
    4787           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4788             :                         /* We didn't get it above, and the token is not needed after this. */
    4789           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4790             :                 }
    4791           0 :                 switch (level) {
    4792           0 :                         case 1:
    4793           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
    4794           0 :                         break;
    4795             : 
    4796           0 :                         default:
    4797           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4798             :                 }
    4799           0 :         }
    4800           0 :         return NDR_ERR_SUCCESS;
    4801             : }
    4802             : 
    4803           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
    4804             : {
    4805             :         uint32_t level;
    4806           0 :         level = ndr_print_steal_switch_value(ndr, r);
    4807           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
    4808           0 :         switch (level) {
    4809           0 :                 case 1:
    4810           0 :                         ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
    4811           0 :                 break;
    4812             : 
    4813           0 :                 default:
    4814           0 :                         ndr_print_bad_level(ndr, name, level);
    4815             :         }
    4816           0 : }
    4817             : 
    4818           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
    4819             : {
    4820           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4821           0 :         if (ndr_flags & NDR_SCALARS) {
    4822           0 :                 if (r->naming_context == NULL) {
    4823           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    4824             :                 }
    4825           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4826           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
    4827           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
    4828           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
    4829           0 :                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
    4830           0 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
    4831           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
    4832           0 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
    4833           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4834             :         }
    4835           0 :         if (ndr_flags & NDR_BUFFERS) {
    4836           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4837           0 :                 if (r->source_dra_address) {
    4838           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
    4839           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    4840           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
    4841           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dra_address, ndr_charset_length(r->source_dra_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    4842             :                 }
    4843             :         }
    4844           0 :         return NDR_ERR_SUCCESS;
    4845             : }
    4846             : 
    4847           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
    4848             : {
    4849             :         uint32_t _ptr_naming_context;
    4850           0 :         TALLOC_CTX *_mem_save_naming_context_0 = NULL;
    4851             :         uint32_t _ptr_source_dra_address;
    4852           0 :         uint32_t size_source_dra_address_1 = 0;
    4853           0 :         uint32_t length_source_dra_address_1 = 0;
    4854           0 :         TALLOC_CTX *_mem_save_source_dra_address_0 = NULL;
    4855           0 :         uint32_t size_schedule_0 = 0;
    4856           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4857           0 :         if (ndr_flags & NDR_SCALARS) {
    4858           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4859           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
    4860           0 :                 if (_ptr_naming_context) {
    4861           0 :                         NDR_PULL_ALLOC(ndr, r->naming_context);
    4862             :                 } else {
    4863           0 :                         r->naming_context = NULL;
    4864             :                 }
    4865           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
    4866           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
    4867           0 :                 if (_ptr_source_dra_address) {
    4868           0 :                         NDR_PULL_ALLOC(ndr, r->source_dra_address);
    4869             :                 } else {
    4870           0 :                         r->source_dra_address = NULL;
    4871             :                 }
    4872           0 :                 size_schedule_0 = 84;
    4873           0 :                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
    4874           0 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
    4875           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
    4876           0 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
    4877           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4878             :         }
    4879           0 :         if (ndr_flags & NDR_BUFFERS) {
    4880           0 :                 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4881           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
    4882           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
    4883           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
    4884           0 :                 if (r->source_dra_address) {
    4885           0 :                         _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4886           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
    4887           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
    4888           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
    4889           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dra_address, &size_source_dra_address_1));
    4890           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dra_address, &length_source_dra_address_1));
    4891           0 :                         if (length_source_dra_address_1 > size_source_dra_address_1) {
    4892           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dra_address_1, length_source_dra_address_1);
    4893             :                         }
    4894           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dra_address_1, sizeof(uint16_t)));
    4895           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, length_source_dra_address_1, sizeof(uint16_t), CH_UTF16));
    4896           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
    4897             :                 }
    4898             :         }
    4899           0 :         return NDR_ERR_SUCCESS;
    4900             : }
    4901             : 
    4902           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
    4903             : {
    4904           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
    4905           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4906           0 :         ndr->depth++;
    4907           0 :         ndr_print_ptr(ndr, "naming_context", r->naming_context);
    4908           0 :         ndr->depth++;
    4909           0 :         ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
    4910           0 :         ndr->depth--;
    4911           0 :         ndr_print_GUID(ndr, "source_dra", &r->source_dra);
    4912           0 :         ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
    4913           0 :         ndr->depth++;
    4914           0 :         if (r->source_dra_address) {
    4915           0 :                 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
    4916             :         }
    4917           0 :         ndr->depth--;
    4918           0 :         ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
    4919           0 :         ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
    4920           0 :         ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
    4921           0 :         ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
    4922           0 :         ndr->depth--;
    4923             : }
    4924             : 
    4925           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
    4926             : {
    4927             :         uint32_t level;
    4928           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4929           0 :         if (ndr_flags & NDR_SCALARS) {
    4930             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4931           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4932           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4933           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    4934           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4935           0 :                 switch (level) {
    4936           0 :                         case 1: {
    4937           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
    4938           0 :                         break; }
    4939             : 
    4940           0 :                         default:
    4941           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4942             :                 }
    4943           0 :         }
    4944           0 :         if (ndr_flags & NDR_BUFFERS) {
    4945           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4946             :                         /* We didn't get it above, and the token is not needed after this. */
    4947           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4948             :                 }
    4949           0 :                 switch (level) {
    4950           0 :                         case 1:
    4951           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
    4952           0 :                         break;
    4953             : 
    4954           0 :                         default:
    4955           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4956             :                 }
    4957           0 :         }
    4958           0 :         return NDR_ERR_SUCCESS;
    4959             : }
    4960             : 
    4961           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
    4962             : {
    4963             :         uint32_t level;
    4964             :         uint32_t _level;
    4965           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4966           0 :         if (ndr_flags & NDR_SCALARS) {
    4967             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4968           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4969           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4970           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    4971           0 :                 if (_level != level) {
    4972           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    4973             :                 }
    4974           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4975           0 :                 switch (level) {
    4976           0 :                         case 1: {
    4977           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
    4978           0 :                         break; }
    4979             : 
    4980           0 :                         default:
    4981           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4982             :                 }
    4983           0 :         }
    4984           0 :         if (ndr_flags & NDR_BUFFERS) {
    4985           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4986             :                         /* We didn't get it above, and the token is not needed after this. */
    4987           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4988             :                 }
    4989           0 :                 switch (level) {
    4990           0 :                         case 1:
    4991           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
    4992           0 :                         break;
    4993             : 
    4994           0 :                         default:
    4995           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4996             :                 }
    4997           0 :         }
    4998           0 :         return NDR_ERR_SUCCESS;
    4999             : }
    5000             : 
    5001           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
    5002             : {
    5003             :         uint32_t level;
    5004           0 :         level = ndr_print_steal_switch_value(ndr, r);
    5005           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
    5006           0 :         switch (level) {
    5007           0 :                 case 1:
    5008           0 :                         ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
    5009           0 :                 break;
    5010             : 
    5011           0 :                 default:
    5012           0 :                         ndr_print_bad_level(ndr, name, level);
    5013             :         }
    5014           0 : }
    5015             : 
    5016           0 : static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
    5017             : {
    5018           0 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    5019           0 :         return NDR_ERR_SUCCESS;
    5020             : }
    5021             : 
    5022           0 : static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
    5023             : {
    5024             :         uint32_t v;
    5025           0 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    5026           0 :         *r = v;
    5027           0 :         return NDR_ERR_SUCCESS;
    5028             : }
    5029             : 
    5030           0 : _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
    5031             : {
    5032           0 :         const char *val = NULL;
    5033             : 
    5034           0 :         switch (r) {
    5035           0 :                 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
    5036           0 :                 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
    5037           0 :                 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
    5038           0 :                 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
    5039           0 :                 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
    5040           0 :                 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
    5041           0 :                 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
    5042             :         }
    5043           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    5044           0 : }
    5045             : 
    5046           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
    5047             : {
    5048             :         uint32_t cntr_info_array_1;
    5049             :         uint32_t cntr_group_attrs_1;
    5050             :         uint32_t cntr_sids_1;
    5051           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5052           0 :         if (ndr_flags & NDR_SCALARS) {
    5053           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    5054           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
    5055           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
    5056           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
    5057           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
    5058           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
    5059           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
    5060           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    5061             :         }
    5062           0 :         if (ndr_flags & NDR_BUFFERS) {
    5063           0 :                 if (r->info_array) {
    5064           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
    5065           0 :                         for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->num_memberships); cntr_info_array_1++) {
    5066           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
    5067             :                         }
    5068           0 :                         for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->num_memberships); cntr_info_array_1++) {
    5069           0 :                                 if (r->info_array[cntr_info_array_1]) {
    5070           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
    5071             :                                 }
    5072             :                         }
    5073             :                 }
    5074           0 :                 if (r->group_attrs) {
    5075           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
    5076           0 :                         for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < (r->num_memberships); cntr_group_attrs_1++) {
    5077           0 :                                 NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
    5078             :                         }
    5079             :                 }
    5080           0 :                 if (r->sids) {
    5081           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
    5082           0 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (r->num_sids); cntr_sids_1++) {
    5083           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
    5084             :                         }
    5085           0 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (r->num_sids); cntr_sids_1++) {
    5086           0 :                                 if (r->sids[cntr_sids_1]) {
    5087           0 :                                         NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
    5088             :                                 }
    5089             :                         }
    5090             :                 }
    5091             :         }
    5092           0 :         return NDR_ERR_SUCCESS;
    5093             : }
    5094             : 
    5095           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
    5096             : {
    5097             :         uint32_t _ptr_info_array;
    5098           0 :         uint32_t size_info_array_1 = 0;
    5099             :         uint32_t cntr_info_array_1;
    5100           0 :         TALLOC_CTX *_mem_save_info_array_0 = NULL;
    5101           0 :         TALLOC_CTX *_mem_save_info_array_1 = NULL;
    5102           0 :         TALLOC_CTX *_mem_save_info_array_2 = NULL;
    5103             :         uint32_t _ptr_group_attrs;
    5104           0 :         uint32_t size_group_attrs_1 = 0;
    5105             :         uint32_t cntr_group_attrs_1;
    5106           0 :         TALLOC_CTX *_mem_save_group_attrs_0 = NULL;
    5107           0 :         TALLOC_CTX *_mem_save_group_attrs_1 = NULL;
    5108             :         uint32_t _ptr_sids;
    5109           0 :         uint32_t size_sids_1 = 0;
    5110             :         uint32_t cntr_sids_1;
    5111           0 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    5112           0 :         TALLOC_CTX *_mem_save_sids_1 = NULL;
    5113           0 :         TALLOC_CTX *_mem_save_sids_2 = NULL;
    5114           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5115           0 :         if (ndr_flags & NDR_SCALARS) {
    5116           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    5117           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
    5118           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
    5119           0 :                 if (r->num_memberships > 10000) {
    5120           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    5121             :                 }
    5122           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
    5123           0 :                 if (r->num_sids > 10000) {
    5124           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    5125             :                 }
    5126           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
    5127           0 :                 if (_ptr_info_array) {
    5128           0 :                         NDR_PULL_ALLOC(ndr, r->info_array);
    5129             :                 } else {
    5130           0 :                         r->info_array = NULL;
    5131             :                 }
    5132           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
    5133           0 :                 if (_ptr_group_attrs) {
    5134           0 :                         NDR_PULL_ALLOC(ndr, r->group_attrs);
    5135             :                 } else {
    5136           0 :                         r->group_attrs = NULL;
    5137             :                 }
    5138           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
    5139           0 :                 if (_ptr_sids) {
    5140           0 :                         NDR_PULL_ALLOC(ndr, r->sids);
    5141             :                 } else {
    5142           0 :                         r->sids = NULL;
    5143             :                 }
    5144           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    5145             :         }
    5146           0 :         if (ndr_flags & NDR_BUFFERS) {
    5147           0 :                 if (r->info_array) {
    5148           0 :                         _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5149           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
    5150           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
    5151           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->info_array, &size_info_array_1));
    5152           0 :                         NDR_PULL_ALLOC_N(ndr, r->info_array, size_info_array_1);
    5153           0 :                         _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
    5154           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
    5155           0 :                         for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
    5156           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
    5157           0 :                                 if (_ptr_info_array) {
    5158           0 :                                         NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
    5159             :                                 } else {
    5160           0 :                                         r->info_array[cntr_info_array_1] = NULL;
    5161             :                                 }
    5162             :                         }
    5163           0 :                         for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
    5164           0 :                                 if (r->info_array[cntr_info_array_1]) {
    5165           0 :                                         _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
    5166           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
    5167           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
    5168           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
    5169             :                                 }
    5170             :                         }
    5171           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
    5172           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
    5173             :                 }
    5174           0 :                 if (r->group_attrs) {
    5175           0 :                         _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5176           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
    5177           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
    5178           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->group_attrs, &size_group_attrs_1));
    5179           0 :                         NDR_PULL_ALLOC_N(ndr, r->group_attrs, size_group_attrs_1);
    5180           0 :                         _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
    5181           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
    5182           0 :                         for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < (size_group_attrs_1); cntr_group_attrs_1++) {
    5183           0 :                                 NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
    5184             :                         }
    5185           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
    5186           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
    5187             :                 }
    5188           0 :                 if (r->sids) {
    5189           0 :                         _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5190           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    5191           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
    5192           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_1));
    5193           0 :                         NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
    5194           0 :                         _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    5195           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    5196           0 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    5197           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
    5198           0 :                                 if (_ptr_sids) {
    5199           0 :                                         NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
    5200             :                                 } else {
    5201           0 :                                         r->sids[cntr_sids_1] = NULL;
    5202             :                                 }
    5203             :                         }
    5204           0 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    5205           0 :                                 if (r->sids[cntr_sids_1]) {
    5206           0 :                                         _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
    5207           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
    5208           0 :                                         NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
    5209           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
    5210             :                                 }
    5211             :                         }
    5212           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
    5213           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
    5214             :                 }
    5215           0 :                 if (r->info_array) {
    5216           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
    5217             :                 }
    5218           0 :                 for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
    5219             :                 }
    5220           0 :                 if (r->group_attrs) {
    5221           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
    5222             :                 }
    5223           0 :                 if (r->sids) {
    5224           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
    5225             :                 }
    5226           0 :                 for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    5227             :                 }
    5228             :         }
    5229           0 :         return NDR_ERR_SUCCESS;
    5230             : }
    5231             : 
    5232           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
    5233             : {
    5234             :         uint32_t cntr_info_array_1;
    5235             :         uint32_t cntr_group_attrs_1;
    5236             :         uint32_t cntr_sids_1;
    5237           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
    5238           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5239           0 :         ndr->depth++;
    5240           0 :         ndr_print_NTSTATUS(ndr, "status", r->status);
    5241           0 :         ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
    5242           0 :         ndr_print_uint32(ndr, "num_sids", r->num_sids);
    5243           0 :         ndr_print_ptr(ndr, "info_array", r->info_array);
    5244           0 :         ndr->depth++;
    5245           0 :         if (r->info_array) {
    5246           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
    5247           0 :                 ndr->depth++;
    5248           0 :                 for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->num_memberships); cntr_info_array_1++) {
    5249           0 :                         ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
    5250           0 :                         ndr->depth++;
    5251           0 :                         if (r->info_array[cntr_info_array_1]) {
    5252           0 :                                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
    5253             :                         }
    5254           0 :                         ndr->depth--;
    5255             :                 }
    5256           0 :                 ndr->depth--;
    5257             :         }
    5258           0 :         ndr->depth--;
    5259           0 :         ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
    5260           0 :         ndr->depth++;
    5261           0 :         if (r->group_attrs) {
    5262           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
    5263           0 :                 ndr->depth++;
    5264           0 :                 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < (r->num_memberships); cntr_group_attrs_1++) {
    5265           0 :                         ndr_print_security_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
    5266             :                 }
    5267           0 :                 ndr->depth--;
    5268             :         }
    5269           0 :         ndr->depth--;
    5270           0 :         ndr_print_ptr(ndr, "sids", r->sids);
    5271           0 :         ndr->depth++;
    5272           0 :         if (r->sids) {
    5273           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
    5274           0 :                 ndr->depth++;
    5275           0 :                 for (cntr_sids_1 = 0; cntr_sids_1 < (r->num_sids); cntr_sids_1++) {
    5276           0 :                         ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
    5277           0 :                         ndr->depth++;
    5278           0 :                         if (r->sids[cntr_sids_1]) {
    5279           0 :                                 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
    5280             :                         }
    5281           0 :                         ndr->depth--;
    5282             :                 }
    5283           0 :                 ndr->depth--;
    5284             :         }
    5285           0 :         ndr->depth--;
    5286           0 :         ndr->depth--;
    5287             : }
    5288             : 
    5289           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
    5290             : {
    5291             :         uint32_t level;
    5292           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5293           0 :         if (ndr_flags & NDR_SCALARS) {
    5294             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5295           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5296           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    5297           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    5298           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    5299           0 :                 switch (level) {
    5300           0 :                         case 1: {
    5301           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
    5302           0 :                         break; }
    5303             : 
    5304           0 :                         default:
    5305           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5306             :                 }
    5307           0 :         }
    5308           0 :         if (ndr_flags & NDR_BUFFERS) {
    5309           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5310             :                         /* We didn't get it above, and the token is not needed after this. */
    5311           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5312             :                 }
    5313           0 :                 switch (level) {
    5314           0 :                         case 1:
    5315           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
    5316           0 :                         break;
    5317             : 
    5318           0 :                         default:
    5319           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5320             :                 }
    5321           0 :         }
    5322           0 :         return NDR_ERR_SUCCESS;
    5323             : }
    5324             : 
    5325           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
    5326             : {
    5327             :         uint32_t level;
    5328             :         uint32_t _level;
    5329           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5330           0 :         if (ndr_flags & NDR_SCALARS) {
    5331             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5332           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5333           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    5334           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    5335           0 :                 if (_level != level) {
    5336           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    5337             :                 }
    5338           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    5339           0 :                 switch (level) {
    5340           0 :                         case 1: {
    5341           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
    5342           0 :                         break; }
    5343             : 
    5344           0 :                         default:
    5345           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5346             :                 }
    5347           0 :         }
    5348           0 :         if (ndr_flags & NDR_BUFFERS) {
    5349           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5350             :                         /* We didn't get it above, and the token is not needed after this. */
    5351           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5352             :                 }
    5353           0 :                 switch (level) {
    5354           0 :                         case 1:
    5355           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
    5356           0 :                         break;
    5357             : 
    5358           0 :                         default:
    5359           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5360             :                 }
    5361           0 :         }
    5362           0 :         return NDR_ERR_SUCCESS;
    5363             : }
    5364             : 
    5365           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
    5366             : {
    5367             :         uint32_t level;
    5368           0 :         level = ndr_print_steal_switch_value(ndr, r);
    5369           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
    5370           0 :         switch (level) {
    5371           0 :                 case 1:
    5372           0 :                         ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
    5373           0 :                 break;
    5374             : 
    5375           0 :                 default:
    5376           0 :                         ndr_print_bad_level(ndr, name, level);
    5377             :         }
    5378           0 : }
    5379             : 
    5380           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
    5381             : {
    5382             :         uint32_t cntr_info_array_1;
    5383           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5384           0 :         if (ndr_flags & NDR_SCALARS) {
    5385           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    5386           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    5387           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
    5388           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
    5389           0 :                 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
    5390           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
    5391           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    5392             :         }
    5393           0 :         if (ndr_flags & NDR_BUFFERS) {
    5394           0 :                 if (r->info_array) {
    5395           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    5396           0 :                         for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->count); cntr_info_array_1++) {
    5397           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
    5398             :                         }
    5399           0 :                         for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->count); cntr_info_array_1++) {
    5400           0 :                                 if (r->info_array[cntr_info_array_1]) {
    5401           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
    5402             :                                 }
    5403             :                         }
    5404             :                 }
    5405           0 :                 if (r->domain) {
    5406           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
    5407             :                 }
    5408             :         }
    5409           0 :         return NDR_ERR_SUCCESS;
    5410             : }
    5411             : 
    5412           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
    5413             : {
    5414             :         uint32_t _ptr_info_array;
    5415           0 :         uint32_t size_info_array_1 = 0;
    5416             :         uint32_t cntr_info_array_1;
    5417           0 :         TALLOC_CTX *_mem_save_info_array_0 = NULL;
    5418           0 :         TALLOC_CTX *_mem_save_info_array_1 = NULL;
    5419           0 :         TALLOC_CTX *_mem_save_info_array_2 = NULL;
    5420             :         uint32_t _ptr_domain;
    5421           0 :         TALLOC_CTX *_mem_save_domain_0 = NULL;
    5422           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5423           0 :         if (ndr_flags & NDR_SCALARS) {
    5424           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    5425           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    5426           0 :                 if (r->count < 1 || r->count > 10000) {
    5427           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    5428             :                 }
    5429           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
    5430           0 :                 if (_ptr_info_array) {
    5431           0 :                         NDR_PULL_ALLOC(ndr, r->info_array);
    5432             :                 } else {
    5433           0 :                         r->info_array = NULL;
    5434             :                 }
    5435           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
    5436           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
    5437           0 :                 if (r->type < 1 || r->type > 7) {
    5438           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    5439             :                 }
    5440           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
    5441           0 :                 if (_ptr_domain) {
    5442           0 :                         NDR_PULL_ALLOC(ndr, r->domain);
    5443             :                 } else {
    5444           0 :                         r->domain = NULL;
    5445             :                 }
    5446           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    5447             :         }
    5448           0 :         if (ndr_flags & NDR_BUFFERS) {
    5449           0 :                 if (r->info_array) {
    5450           0 :                         _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5451           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
    5452           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
    5453           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->info_array, &size_info_array_1));
    5454           0 :                         NDR_PULL_ALLOC_N(ndr, r->info_array, size_info_array_1);
    5455           0 :                         _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
    5456           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
    5457           0 :                         for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
    5458           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
    5459           0 :                                 if (_ptr_info_array) {
    5460           0 :                                         NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
    5461             :                                 } else {
    5462           0 :                                         r->info_array[cntr_info_array_1] = NULL;
    5463             :                                 }
    5464             :                         }
    5465           0 :                         for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
    5466           0 :                                 if (r->info_array[cntr_info_array_1]) {
    5467           0 :                                         _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
    5468           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
    5469           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
    5470           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
    5471             :                                 }
    5472             :                         }
    5473           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
    5474           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
    5475             :                 }
    5476           0 :                 if (r->domain) {
    5477           0 :                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5478           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
    5479           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
    5480           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
    5481             :                 }
    5482           0 :                 if (r->info_array) {
    5483           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
    5484             :                 }
    5485           0 :                 for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
    5486             :                 }
    5487             :         }
    5488           0 :         return NDR_ERR_SUCCESS;
    5489             : }
    5490             : 
    5491           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
    5492             : {
    5493             :         uint32_t cntr_info_array_1;
    5494           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
    5495           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5496           0 :         ndr->depth++;
    5497           0 :         ndr_print_uint32(ndr, "count", r->count);
    5498           0 :         ndr_print_ptr(ndr, "info_array", r->info_array);
    5499           0 :         ndr->depth++;
    5500           0 :         if (r->info_array) {
    5501           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
    5502           0 :                 ndr->depth++;
    5503           0 :                 for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->count); cntr_info_array_1++) {
    5504           0 :                         ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
    5505           0 :                         ndr->depth++;
    5506           0 :                         if (r->info_array[cntr_info_array_1]) {
    5507           0 :                                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
    5508             :                         }
    5509           0 :                         ndr->depth--;
    5510             :                 }
    5511           0 :                 ndr->depth--;
    5512             :         }
    5513           0 :         ndr->depth--;
    5514           0 :         ndr_print_uint32(ndr, "flags", r->flags);
    5515           0 :         ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
    5516           0 :         ndr_print_ptr(ndr, "domain", r->domain);
    5517           0 :         ndr->depth++;
    5518           0 :         if (r->domain) {
    5519           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
    5520             :         }
    5521           0 :         ndr->depth--;
    5522           0 :         ndr->depth--;
    5523             : }
    5524             : 
    5525           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
    5526             : {
    5527             :         uint32_t level;
    5528           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5529           0 :         if (ndr_flags & NDR_SCALARS) {
    5530             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5531           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5532           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    5533           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    5534           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    5535           0 :                 switch (level) {
    5536           0 :                         case 1: {
    5537           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
    5538           0 :                         break; }
    5539             : 
    5540           0 :                         default:
    5541           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5542             :                 }
    5543           0 :         }
    5544           0 :         if (ndr_flags & NDR_BUFFERS) {
    5545           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5546             :                         /* We didn't get it above, and the token is not needed after this. */
    5547           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5548             :                 }
    5549           0 :                 switch (level) {
    5550           0 :                         case 1:
    5551           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
    5552           0 :                         break;
    5553             : 
    5554           0 :                         default:
    5555           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5556             :                 }
    5557           0 :         }
    5558           0 :         return NDR_ERR_SUCCESS;
    5559             : }
    5560             : 
    5561           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
    5562             : {
    5563             :         uint32_t level;
    5564             :         uint32_t _level;
    5565           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5566           0 :         if (ndr_flags & NDR_SCALARS) {
    5567             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5568           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5569           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    5570           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    5571           0 :                 if (_level != level) {
    5572           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    5573             :                 }
    5574           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    5575           0 :                 switch (level) {
    5576           0 :                         case 1: {
    5577           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
    5578           0 :                         break; }
    5579             : 
    5580           0 :                         default:
    5581           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5582             :                 }
    5583           0 :         }
    5584           0 :         if (ndr_flags & NDR_BUFFERS) {
    5585           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5586             :                         /* We didn't get it above, and the token is not needed after this. */
    5587           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5588             :                 }
    5589           0 :                 switch (level) {
    5590           0 :                         case 1:
    5591           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
    5592           0 :                         break;
    5593             : 
    5594           0 :                         default:
    5595           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5596             :                 }
    5597           0 :         }
    5598           0 :         return NDR_ERR_SUCCESS;
    5599             : }
    5600             : 
    5601           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
    5602             : {
    5603             :         uint32_t level;
    5604           0 :         level = ndr_print_steal_switch_value(ndr, r);
    5605           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
    5606           0 :         switch (level) {
    5607           0 :                 case 1:
    5608           0 :                         ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
    5609           0 :                 break;
    5610             : 
    5611           0 :                 default:
    5612           0 :                         ndr_print_bad_level(ndr, name, level);
    5613             :         }
    5614           0 : }
    5615             : 
    5616           4 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    5617             : {
    5618           4 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    5619           4 :         return NDR_ERR_SUCCESS;
    5620             : }
    5621             : 
    5622           4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    5623             : {
    5624             :         uint32_t v;
    5625           4 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    5626           4 :         *r = v;
    5627           4 :         return NDR_ERR_SUCCESS;
    5628             : }
    5629             : 
    5630           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    5631             : {
    5632           0 :         ndr_print_uint32(ndr, name, r);
    5633           0 :         ndr->depth++;
    5634           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG, r);
    5635           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS, r);
    5636           0 :         ndr->depth--;
    5637           0 : }
    5638             : 
    5639           8 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
    5640             : {
    5641           8 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5642           8 :         if (ndr_flags & NDR_SCALARS) {
    5643           4 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    5644           4 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
    5645           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->preferred_maximum_length));
    5646           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
    5647           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
    5648           4 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    5649             :         }
    5650           8 :         if (ndr_flags & NDR_BUFFERS) {
    5651           4 :                 if (r->restart_data) {
    5652           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
    5653           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
    5654             :                 }
    5655             :         }
    5656           8 :         return NDR_ERR_SUCCESS;
    5657             : }
    5658             : 
    5659           8 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
    5660             : {
    5661             :         uint32_t _ptr_restart_data;
    5662           8 :         uint32_t size_restart_data_1 = 0;
    5663           8 :         TALLOC_CTX *_mem_save_restart_data_0 = NULL;
    5664           8 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5665           8 :         if (ndr_flags & NDR_SCALARS) {
    5666           4 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    5667           4 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
    5668           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->preferred_maximum_length));
    5669           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
    5670           4 :                 if (r->restart_length > 10485760) {
    5671           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    5672             :                 }
    5673           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
    5674           4 :                 if (_ptr_restart_data) {
    5675           0 :                         NDR_PULL_ALLOC(ndr, r->restart_data);
    5676             :                 } else {
    5677           4 :                         r->restart_data = NULL;
    5678             :                 }
    5679           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    5680             :         }
    5681           8 :         if (ndr_flags & NDR_BUFFERS) {
    5682           4 :                 if (r->restart_data) {
    5683           0 :                         _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5684           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
    5685           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
    5686           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->restart_data, &size_restart_data_1));
    5687           0 :                         NDR_PULL_ALLOC_N(ndr, r->restart_data, size_restart_data_1);
    5688           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, size_restart_data_1));
    5689           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
    5690             :                 }
    5691           4 :                 if (r->restart_data) {
    5692           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->restart_data, r->restart_length));
    5693             :                 }
    5694             :         }
    5695           8 :         return NDR_ERR_SUCCESS;
    5696             : }
    5697             : 
    5698           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
    5699             : {
    5700           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
    5701           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5702           0 :         ndr->depth++;
    5703           0 :         ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr, "flags", r->flags);
    5704           0 :         ndr_print_uint32(ndr, "preferred_maximum_length", r->preferred_maximum_length);
    5705           0 :         ndr_print_uint32(ndr, "restart_length", r->restart_length);
    5706           0 :         ndr_print_ptr(ndr, "restart_data", r->restart_data);
    5707           0 :         ndr->depth++;
    5708           0 :         if (r->restart_data) {
    5709           0 :                 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
    5710             :         }
    5711           0 :         ndr->depth--;
    5712           0 :         ndr->depth--;
    5713             : }
    5714             : 
    5715           4 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
    5716             : {
    5717             :         uint32_t level;
    5718           4 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5719           4 :         if (ndr_flags & NDR_SCALARS) {
    5720             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5721           4 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5722           4 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    5723           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    5724           4 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    5725           4 :                 switch (level) {
    5726           4 :                         case 1: {
    5727           4 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
    5728           4 :                         break; }
    5729             : 
    5730           0 :                         default:
    5731           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5732             :                 }
    5733           0 :         }
    5734           4 :         if (ndr_flags & NDR_BUFFERS) {
    5735           4 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5736             :                         /* We didn't get it above, and the token is not needed after this. */
    5737           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5738             :                 }
    5739           4 :                 switch (level) {
    5740           4 :                         case 1:
    5741           4 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
    5742           4 :                         break;
    5743             : 
    5744           0 :                         default:
    5745           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5746             :                 }
    5747           0 :         }
    5748           4 :         return NDR_ERR_SUCCESS;
    5749             : }
    5750             : 
    5751           4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
    5752             : {
    5753             :         uint32_t level;
    5754             :         uint32_t _level;
    5755           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5756           4 :         if (ndr_flags & NDR_SCALARS) {
    5757             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5758           4 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5759           4 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    5760           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    5761           4 :                 if (_level != level) {
    5762           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    5763             :                 }
    5764           4 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    5765           4 :                 switch (level) {
    5766           4 :                         case 1: {
    5767           4 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
    5768           4 :                         break; }
    5769             : 
    5770           0 :                         default:
    5771           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5772             :                 }
    5773           0 :         }
    5774           4 :         if (ndr_flags & NDR_BUFFERS) {
    5775           4 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5776             :                         /* We didn't get it above, and the token is not needed after this. */
    5777           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5778             :                 }
    5779           4 :                 switch (level) {
    5780           4 :                         case 1:
    5781           4 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
    5782           4 :                         break;
    5783             : 
    5784           0 :                         default:
    5785           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5786             :                 }
    5787           0 :         }
    5788           4 :         return NDR_ERR_SUCCESS;
    5789             : }
    5790             : 
    5791           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
    5792             : {
    5793             :         uint32_t level;
    5794           0 :         level = ndr_print_steal_switch_value(ndr, r);
    5795           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
    5796           0 :         switch (level) {
    5797           0 :                 case 1:
    5798           0 :                         ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
    5799           0 :                 break;
    5800             : 
    5801           0 :                 default:
    5802           0 :                         ndr_print_bad_level(ndr, name, level);
    5803             :         }
    5804           0 : }
    5805             : 
    5806           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
    5807             : {
    5808           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5809           0 :         if (ndr_flags & NDR_SCALARS) {
    5810           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    5811           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
    5812           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_length));
    5813           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sam_serial_number));
    5814           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->sam_creation_time));
    5815           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->builtin_serial_number));
    5816           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->builtin_creation_time));
    5817           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lsa_serial_number));
    5818           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->lsa_creation_time));
    5819           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
    5820           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
    5821           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->log_data));
    5822           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    5823             :         }
    5824           0 :         if (ndr_flags & NDR_BUFFERS) {
    5825           0 :                 if (r->restart_data) {
    5826           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
    5827           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
    5828             :                 }
    5829           0 :                 if (r->log_data) {
    5830           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->log_length));
    5831           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->log_data, r->log_length));
    5832             :                 }
    5833             :         }
    5834           0 :         return NDR_ERR_SUCCESS;
    5835             : }
    5836             : 
    5837           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
    5838             : {
    5839             :         uint32_t _ptr_restart_data;
    5840           0 :         uint32_t size_restart_data_1 = 0;
    5841           0 :         TALLOC_CTX *_mem_save_restart_data_0 = NULL;
    5842             :         uint32_t _ptr_log_data;
    5843           0 :         uint32_t size_log_data_1 = 0;
    5844           0 :         TALLOC_CTX *_mem_save_log_data_0 = NULL;
    5845           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5846           0 :         if (ndr_flags & NDR_SCALARS) {
    5847           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    5848           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
    5849           0 :                 if (r->restart_length > 10485760) {
    5850           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    5851             :                 }
    5852           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_length));
    5853           0 :                 if (r->log_length > 10485760) {
    5854           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    5855             :                 }
    5856           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sam_serial_number));
    5857           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->sam_creation_time));
    5858           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->builtin_serial_number));
    5859           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->builtin_creation_time));
    5860           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lsa_serial_number));
    5861           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->lsa_creation_time));
    5862           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
    5863           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
    5864           0 :                 if (_ptr_restart_data) {
    5865           0 :                         NDR_PULL_ALLOC(ndr, r->restart_data);
    5866             :                 } else {
    5867           0 :                         r->restart_data = NULL;
    5868             :                 }
    5869           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_log_data));
    5870           0 :                 if (_ptr_log_data) {
    5871           0 :                         NDR_PULL_ALLOC(ndr, r->log_data);
    5872             :                 } else {
    5873           0 :                         r->log_data = NULL;
    5874             :                 }
    5875           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    5876             :         }
    5877           0 :         if (ndr_flags & NDR_BUFFERS) {
    5878           0 :                 if (r->restart_data) {
    5879           0 :                         _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5880           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
    5881           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
    5882           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->restart_data, &size_restart_data_1));
    5883           0 :                         NDR_PULL_ALLOC_N(ndr, r->restart_data, size_restart_data_1);
    5884           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, size_restart_data_1));
    5885           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
    5886             :                 }
    5887           0 :                 if (r->log_data) {
    5888           0 :                         _mem_save_log_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5889           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->log_data, 0);
    5890           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->log_data));
    5891           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->log_data, &size_log_data_1));
    5892           0 :                         NDR_PULL_ALLOC_N(ndr, r->log_data, size_log_data_1);
    5893           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->log_data, size_log_data_1));
    5894           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_log_data_0, 0);
    5895             :                 }
    5896           0 :                 if (r->restart_data) {
    5897           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->restart_data, r->restart_length));
    5898             :                 }
    5899           0 :                 if (r->log_data) {
    5900           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->log_data, r->log_length));
    5901             :                 }
    5902             :         }
    5903           0 :         return NDR_ERR_SUCCESS;
    5904             : }
    5905             : 
    5906           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
    5907             : {
    5908           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
    5909           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5910           0 :         ndr->depth++;
    5911           0 :         ndr_print_uint32(ndr, "restart_length", r->restart_length);
    5912           0 :         ndr_print_uint32(ndr, "log_length", r->log_length);
    5913           0 :         ndr_print_hyper(ndr, "sam_serial_number", r->sam_serial_number);
    5914           0 :         ndr_print_NTTIME(ndr, "sam_creation_time", r->sam_creation_time);
    5915           0 :         ndr_print_hyper(ndr, "builtin_serial_number", r->builtin_serial_number);
    5916           0 :         ndr_print_NTTIME(ndr, "builtin_creation_time", r->builtin_creation_time);
    5917           0 :         ndr_print_hyper(ndr, "lsa_serial_number", r->lsa_serial_number);
    5918           0 :         ndr_print_NTTIME(ndr, "lsa_creation_time", r->lsa_creation_time);
    5919           0 :         ndr_print_NTSTATUS(ndr, "status", r->status);
    5920           0 :         ndr_print_ptr(ndr, "restart_data", r->restart_data);
    5921           0 :         ndr->depth++;
    5922           0 :         if (r->restart_data) {
    5923           0 :                 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
    5924             :         }
    5925           0 :         ndr->depth--;
    5926           0 :         ndr_print_ptr(ndr, "log_data", r->log_data);
    5927           0 :         ndr->depth++;
    5928           0 :         if (r->log_data) {
    5929           0 :                 ndr_print_array_uint8(ndr, "log_data", r->log_data, r->log_length);
    5930             :         }
    5931           0 :         ndr->depth--;
    5932           0 :         ndr->depth--;
    5933             : }
    5934             : 
    5935           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
    5936             : {
    5937             :         uint32_t level;
    5938           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5939           0 :         if (ndr_flags & NDR_SCALARS) {
    5940             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5941           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5942           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    5943           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    5944           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    5945           0 :                 switch (level) {
    5946           0 :                         case 1: {
    5947           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
    5948           0 :                         break; }
    5949             : 
    5950           0 :                         default:
    5951           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5952             :                 }
    5953           0 :         }
    5954           0 :         if (ndr_flags & NDR_BUFFERS) {
    5955           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5956             :                         /* We didn't get it above, and the token is not needed after this. */
    5957           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5958             :                 }
    5959           0 :                 switch (level) {
    5960           0 :                         case 1:
    5961           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
    5962           0 :                         break;
    5963             : 
    5964           0 :                         default:
    5965           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5966             :                 }
    5967           0 :         }
    5968           0 :         return NDR_ERR_SUCCESS;
    5969             : }
    5970             : 
    5971           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
    5972             : {
    5973             :         uint32_t level;
    5974             :         uint32_t _level;
    5975           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5976           0 :         if (ndr_flags & NDR_SCALARS) {
    5977             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5978           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5979           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    5980           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    5981           0 :                 if (_level != level) {
    5982           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    5983             :                 }
    5984           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    5985           0 :                 switch (level) {
    5986           0 :                         case 1: {
    5987           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
    5988           0 :                         break; }
    5989             : 
    5990           0 :                         default:
    5991           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5992             :                 }
    5993           0 :         }
    5994           0 :         if (ndr_flags & NDR_BUFFERS) {
    5995           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5996             :                         /* We didn't get it above, and the token is not needed after this. */
    5997           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5998             :                 }
    5999           0 :                 switch (level) {
    6000           0 :                         case 1:
    6001           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
    6002           0 :                         break;
    6003             : 
    6004           0 :                         default:
    6005           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    6006             :                 }
    6007           0 :         }
    6008           0 :         return NDR_ERR_SUCCESS;
    6009             : }
    6010             : 
    6011           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
    6012             : {
    6013             :         uint32_t level;
    6014           0 :         level = ndr_print_steal_switch_value(ndr, r);
    6015           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
    6016           0 :         switch (level) {
    6017           0 :                 case 1:
    6018           0 :                         ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
    6019           0 :                 break;
    6020             : 
    6021           0 :                 default:
    6022           0 :                         ndr_print_bad_level(ndr, name, level);
    6023             :         }
    6024           0 : }
    6025             : 
    6026        1688 : static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
    6027             : {
    6028        1904 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    6029        1688 :         return NDR_ERR_SUCCESS;
    6030             : }
    6031             : 
    6032        1480 : static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
    6033             : {
    6034             :         uint32_t v;
    6035        1660 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    6036        1660 :         *r = v;
    6037        1480 :         return NDR_ERR_SUCCESS;
    6038             : }
    6039             : 
    6040         488 : _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
    6041             : {
    6042         488 :         const char *val = NULL;
    6043             : 
    6044         488 :         switch (r) {
    6045         488 :                 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
    6046           0 :                 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
    6047           0 :                 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
    6048           0 :                 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
    6049           0 :                 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
    6050           0 :                 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
    6051           0 :                 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
    6052           0 :                 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
    6053             :         }
    6054         488 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    6055         488 : }
    6056             : 
    6057        1480 : static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
    6058             : {
    6059        1660 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    6060        1480 :         return NDR_ERR_SUCCESS;
    6061             : }
    6062             : 
    6063        1480 : static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
    6064             : {
    6065             :         uint32_t v;
    6066        1660 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    6067        1660 :         *r = v;
    6068        1480 :         return NDR_ERR_SUCCESS;
    6069             : }
    6070             : 
    6071           0 : _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
    6072             : {
    6073           0 :         const char *val = NULL;
    6074             : 
    6075           0 :         switch (r) {
    6076           0 :                 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
    6077           0 :                 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
    6078           0 :                 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
    6079           0 :                 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
    6080           0 :                 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
    6081             :         }
    6082           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    6083           0 : }
    6084             : 
    6085        2960 : static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
    6086             : {
    6087        3320 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    6088        2960 :         return NDR_ERR_SUCCESS;
    6089             : }
    6090             : 
    6091        2960 : static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
    6092             : {
    6093             :         uint32_t v;
    6094        3320 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    6095        3320 :         *r = v;
    6096        2960 :         return NDR_ERR_SUCCESS;
    6097             : }
    6098             : 
    6099           0 : _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
    6100             : {
    6101           0 :         const char *val = NULL;
    6102             : 
    6103           0 :         switch (r) {
    6104           0 :                 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
    6105           0 :                 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
    6106           0 :                 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
    6107           0 :                 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
    6108           0 :                 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
    6109           0 :                 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
    6110           0 :                 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
    6111           0 :                 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
    6112           0 :                 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
    6113           0 :                 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
    6114           0 :                 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
    6115           0 :                 case DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECID: val = "DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECID"; break;
    6116           0 :                 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX"; break;
    6117           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERS"; break;
    6118           0 :                 case DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGON: val = "DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGON"; break;
    6119           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITE"; break;
    6120           0 :                 case DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAME: val = "DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAME"; break;
    6121           0 :                 case DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAME: val = "DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAME"; break;
    6122           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_NCS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_NCS"; break;
    6123           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS"; break;
    6124           0 :                 case DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUID: val = "DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUID"; break;
    6125           0 :                 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN"; break;
    6126           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_ROLES: val = "DRSUAPI_DS_NAME_FORMAT_LIST_ROLES"; break;
    6127           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVER: val = "DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVER"; break;
    6128           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITE"; break;
    6129           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITE"; break;
    6130           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITE"; break;
    6131           0 :                 case DRSUAPI_DS_NAME_FORMAT_LIST_SITES: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SITES"; break;
    6132             :         }
    6133           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    6134           0 : }
    6135             : 
    6136        3344 : static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
    6137             : {
    6138        3344 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6139        3344 :         if (ndr_flags & NDR_SCALARS) {
    6140        1672 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    6141        1672 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
    6142        1672 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    6143             :         }
    6144        3344 :         if (ndr_flags & NDR_BUFFERS) {
    6145        1672 :                 if (r->str) {
    6146        1672 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
    6147        1672 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6148        1672 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
    6149        1672 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6150             :                 }
    6151             :         }
    6152        2984 :         return NDR_ERR_SUCCESS;
    6153             : }
    6154             : 
    6155        3344 : static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
    6156             : {
    6157             :         uint32_t _ptr_str;
    6158        3344 :         uint32_t size_str_1 = 0;
    6159        3344 :         uint32_t length_str_1 = 0;
    6160        3344 :         TALLOC_CTX *_mem_save_str_0 = NULL;
    6161        3344 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6162        3344 :         if (ndr_flags & NDR_SCALARS) {
    6163        1672 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6164        1672 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
    6165        1672 :                 if (_ptr_str) {
    6166        1672 :                         NDR_PULL_ALLOC(ndr, r->str);
    6167             :                 } else {
    6168           0 :                         r->str = NULL;
    6169             :                 }
    6170        1672 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    6171             :         }
    6172        3344 :         if (ndr_flags & NDR_BUFFERS) {
    6173        1672 :                 if (r->str) {
    6174        1672 :                         _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6175        1672 :                         NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
    6176        1672 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
    6177        1672 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
    6178        1672 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->str, &size_str_1));
    6179        1672 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->str, &length_str_1));
    6180        1672 :                         if (length_str_1 > size_str_1) {
    6181           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_str_1, length_str_1);
    6182             :                         }
    6183        1672 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_str_1, sizeof(uint16_t)));
    6184        1672 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, length_str_1, sizeof(uint16_t), CH_UTF16));
    6185        1672 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
    6186             :                 }
    6187             :         }
    6188        2984 :         return NDR_ERR_SUCCESS;
    6189             : }
    6190             : 
    6191           0 : _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
    6192             : {
    6193           0 :         ndr_print_struct(ndr, name, "drsuapi_DsNameString");
    6194           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6195           0 :         ndr->depth++;
    6196           0 :         ndr_print_ptr(ndr, "str", r->str);
    6197           0 :         ndr->depth++;
    6198           0 :         if (r->str) {
    6199           0 :                 ndr_print_string(ndr, "str", r->str);
    6200             :         }
    6201           0 :         ndr->depth--;
    6202           0 :         ndr->depth--;
    6203             : }
    6204             : 
    6205        3320 : static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
    6206             : {
    6207             :         uint32_t cntr_names_1;
    6208        3320 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6209        3320 :         if (ndr_flags & NDR_SCALARS) {
    6210        1660 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    6211        1660 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
    6212        1660 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
    6213        1840 :                 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
    6214        1840 :                 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
    6215        1840 :                 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
    6216        1660 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    6217        1660 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
    6218        1660 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    6219             :         }
    6220        3320 :         if (ndr_flags & NDR_BUFFERS) {
    6221        1660 :                 if (r->names) {
    6222        1660 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    6223        3140 :                         for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
    6224        1660 :                                 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
    6225             :                         }
    6226        3140 :                         for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
    6227        1660 :                                 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
    6228             :                         }
    6229             :                 }
    6230             :         }
    6231        2960 :         return NDR_ERR_SUCCESS;
    6232             : }
    6233             : 
    6234        3320 : static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
    6235             : {
    6236             :         uint32_t _ptr_names;
    6237        3320 :         uint32_t size_names_1 = 0;
    6238             :         uint32_t cntr_names_1;
    6239        3320 :         TALLOC_CTX *_mem_save_names_0 = NULL;
    6240        3320 :         TALLOC_CTX *_mem_save_names_1 = NULL;
    6241        3320 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6242        3320 :         if (ndr_flags & NDR_SCALARS) {
    6243        1660 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6244        1660 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
    6245        1660 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
    6246        1840 :                 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
    6247        1840 :                 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
    6248        1840 :                 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
    6249        1660 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    6250        1660 :                 if (r->count < 1 || r->count > 10000) {
    6251           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    6252             :                 }
    6253        1660 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
    6254        1660 :                 if (_ptr_names) {
    6255        1660 :                         NDR_PULL_ALLOC(ndr, r->names);
    6256             :                 } else {
    6257           0 :                         r->names = NULL;
    6258             :                 }
    6259        1660 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    6260             :         }
    6261        3320 :         if (ndr_flags & NDR_BUFFERS) {
    6262        1660 :                 if (r->names) {
    6263        1660 :                         _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6264        1660 :                         NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
    6265        1660 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
    6266        1660 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->names, &size_names_1));
    6267        1660 :                         NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
    6268        1660 :                         _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
    6269        1660 :                         NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
    6270        3320 :                         for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
    6271        1660 :                                 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
    6272             :                         }
    6273        3140 :                         for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
    6274        1660 :                                 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
    6275             :                         }
    6276        1660 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
    6277        1660 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
    6278             :                 }
    6279        1660 :                 if (r->names) {
    6280        1660 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
    6281             :                 }
    6282        1912 :                 for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
    6283             :                 }
    6284             :         }
    6285        2960 :         return NDR_ERR_SUCCESS;
    6286             : }
    6287             : 
    6288           0 : _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
    6289             : {
    6290             :         uint32_t cntr_names_1;
    6291           0 :         ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
    6292           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6293           0 :         ndr->depth++;
    6294           0 :         ndr_print_uint32(ndr, "codepage", r->codepage);
    6295           0 :         ndr_print_uint32(ndr, "language", r->language);
    6296           0 :         ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
    6297           0 :         ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
    6298           0 :         ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
    6299           0 :         ndr_print_uint32(ndr, "count", r->count);
    6300           0 :         ndr_print_ptr(ndr, "names", r->names);
    6301           0 :         ndr->depth++;
    6302           0 :         if (r->names) {
    6303           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
    6304           0 :                 ndr->depth++;
    6305           0 :                 for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
    6306           0 :                         ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
    6307             :                 }
    6308           0 :                 ndr->depth--;
    6309             :         }
    6310           0 :         ndr->depth--;
    6311           0 :         ndr->depth--;
    6312             : }
    6313             : 
    6314        1660 : static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
    6315             : {
    6316             :         uint32_t level;
    6317        1660 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6318        1660 :         if (ndr_flags & NDR_SCALARS) {
    6319             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6320        1660 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6321        1660 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    6322        1660 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    6323        1660 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    6324        1660 :                 switch (level) {
    6325        1660 :                         case 1: {
    6326        1660 :                                 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
    6327        1480 :                         break; }
    6328             : 
    6329           0 :                         default:
    6330           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    6331             :                 }
    6332           0 :         }
    6333        1660 :         if (ndr_flags & NDR_BUFFERS) {
    6334        1660 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6335             :                         /* We didn't get it above, and the token is not needed after this. */
    6336           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6337             :                 }
    6338        1660 :                 switch (level) {
    6339        1660 :                         case 1:
    6340        1660 :                                 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
    6341        1480 :                         break;
    6342             : 
    6343           0 :                         default:
    6344           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    6345             :                 }
    6346           0 :         }
    6347        1480 :         return NDR_ERR_SUCCESS;
    6348             : }
    6349             : 
    6350        1660 : static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
    6351             : {
    6352             :         uint32_t level;
    6353             :         uint32_t _level;
    6354        1660 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6355        1660 :         if (ndr_flags & NDR_SCALARS) {
    6356             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6357        1660 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6358        1660 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    6359        1660 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    6360        1660 :                 if (_level != level) {
    6361           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    6362             :                 }
    6363        1660 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    6364        1660 :                 switch (level) {
    6365        1660 :                         case 1: {
    6366        1660 :                                 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
    6367        1480 :                         break; }
    6368             : 
    6369           0 :                         default:
    6370           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    6371             :                 }
    6372           0 :         }
    6373        1660 :         if (ndr_flags & NDR_BUFFERS) {
    6374        1660 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6375             :                         /* We didn't get it above, and the token is not needed after this. */
    6376           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6377             :                 }
    6378        1660 :                 switch (level) {
    6379        1660 :                         case 1:
    6380        1660 :                                 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
    6381        1480 :                         break;
    6382             : 
    6383           0 :                         default:
    6384           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    6385             :                 }
    6386           0 :         }
    6387        1480 :         return NDR_ERR_SUCCESS;
    6388             : }
    6389             : 
    6390           0 : _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
    6391             : {
    6392             :         uint32_t level;
    6393           0 :         level = ndr_print_steal_switch_value(ndr, r);
    6394           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
    6395           0 :         switch (level) {
    6396           0 :                 case 1:
    6397           0 :                         ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
    6398           0 :                 break;
    6399             : 
    6400           0 :                 default:
    6401           0 :                         ndr_print_bad_level(ndr, name, level);
    6402             :         }
    6403           0 : }
    6404             : 
    6405        3808 : static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
    6406             : {
    6407        3808 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6408        3808 :         if (ndr_flags & NDR_SCALARS) {
    6409        1904 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    6410        2120 :                 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
    6411        1904 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
    6412        1904 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
    6413        1904 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    6414             :         }
    6415        3808 :         if (ndr_flags & NDR_BUFFERS) {
    6416        1904 :                 if (r->dns_domain_name) {
    6417        1821 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
    6418        1821 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6419        1821 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
    6420        1821 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_domain_name, ndr_charset_length(r->dns_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6421             :                 }
    6422        1904 :                 if (r->result_name) {
    6423        1763 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
    6424        1763 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6425        1763 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
    6426        1763 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6427             :                 }
    6428             :         }
    6429        3376 :         return NDR_ERR_SUCCESS;
    6430             : }
    6431             : 
    6432        3320 : static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
    6433             : {
    6434             :         uint32_t _ptr_dns_domain_name;
    6435        3320 :         uint32_t size_dns_domain_name_1 = 0;
    6436        3320 :         uint32_t length_dns_domain_name_1 = 0;
    6437        3320 :         TALLOC_CTX *_mem_save_dns_domain_name_0 = NULL;
    6438             :         uint32_t _ptr_result_name;
    6439        3320 :         uint32_t size_result_name_1 = 0;
    6440        3320 :         uint32_t length_result_name_1 = 0;
    6441        3320 :         TALLOC_CTX *_mem_save_result_name_0 = NULL;
    6442        3320 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6443        3320 :         if (ndr_flags & NDR_SCALARS) {
    6444        1660 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6445        1840 :                 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
    6446        1660 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
    6447        1660 :                 if (_ptr_dns_domain_name) {
    6448        1577 :                         NDR_PULL_ALLOC(ndr, r->dns_domain_name);
    6449             :                 } else {
    6450          83 :                         r->dns_domain_name = NULL;
    6451             :                 }
    6452        1660 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
    6453        1660 :                 if (_ptr_result_name) {
    6454        1519 :                         NDR_PULL_ALLOC(ndr, r->result_name);
    6455             :                 } else {
    6456         141 :                         r->result_name = NULL;
    6457             :                 }
    6458        1660 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    6459             :         }
    6460        3320 :         if (ndr_flags & NDR_BUFFERS) {
    6461        1660 :                 if (r->dns_domain_name) {
    6462        1577 :                         _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6463        1577 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
    6464        1577 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
    6465        1577 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
    6466        1577 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_domain_name, &size_dns_domain_name_1));
    6467        1577 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_domain_name, &length_dns_domain_name_1));
    6468        1577 :                         if (length_dns_domain_name_1 > size_dns_domain_name_1) {
    6469           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_domain_name_1, length_dns_domain_name_1);
    6470             :                         }
    6471        1577 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_domain_name_1, sizeof(uint16_t)));
    6472        1577 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, length_dns_domain_name_1, sizeof(uint16_t), CH_UTF16));
    6473        1577 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
    6474             :                 }
    6475        1660 :                 if (r->result_name) {
    6476        1519 :                         _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6477        1519 :                         NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
    6478        1519 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
    6479        1519 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
    6480        1519 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->result_name, &size_result_name_1));
    6481        1519 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->result_name, &length_result_name_1));
    6482        1519 :                         if (length_result_name_1 > size_result_name_1) {
    6483           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_result_name_1, length_result_name_1);
    6484             :                         }
    6485        1519 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_result_name_1, sizeof(uint16_t)));
    6486        1519 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, length_result_name_1, sizeof(uint16_t), CH_UTF16));
    6487        1519 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
    6488             :                 }
    6489             :         }
    6490        2960 :         return NDR_ERR_SUCCESS;
    6491             : }
    6492             : 
    6493         488 : _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
    6494             : {
    6495         488 :         ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
    6496         488 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6497         488 :         ndr->depth++;
    6498         488 :         ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
    6499         488 :         ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
    6500         488 :         ndr->depth++;
    6501         488 :         if (r->dns_domain_name) {
    6502         488 :                 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
    6503             :         }
    6504         488 :         ndr->depth--;
    6505         488 :         ndr_print_ptr(ndr, "result_name", r->result_name);
    6506         488 :         ndr->depth++;
    6507         488 :         if (r->result_name) {
    6508         488 :                 ndr_print_string(ndr, "result_name", r->result_name);
    6509             :         }
    6510         488 :         ndr->depth--;
    6511         488 :         ndr->depth--;
    6512             : }
    6513             : 
    6514        1904 : static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
    6515             : {
    6516             :         uint32_t cntr_array_1;
    6517        1904 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6518        1904 :         if (ndr_flags & NDR_SCALARS) {
    6519        1904 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    6520        1904 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    6521        1904 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
    6522        1904 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    6523             :         }
    6524        1904 :         if (ndr_flags & NDR_BUFFERS) {
    6525        1904 :                 if (r->array) {
    6526        1904 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    6527        3592 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    6528        1904 :                                 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    6529             :                         }
    6530        3592 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    6531        1904 :                                 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    6532             :                         }
    6533             :                 }
    6534             :         }
    6535        1688 :         return NDR_ERR_SUCCESS;
    6536             : }
    6537             : 
    6538        1660 : static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
    6539             : {
    6540             :         uint32_t _ptr_array;
    6541        1660 :         uint32_t size_array_1 = 0;
    6542             :         uint32_t cntr_array_1;
    6543        1660 :         TALLOC_CTX *_mem_save_array_0 = NULL;
    6544        1660 :         TALLOC_CTX *_mem_save_array_1 = NULL;
    6545        1660 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6546        1660 :         if (ndr_flags & NDR_SCALARS) {
    6547        1660 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6548        1660 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    6549        1660 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
    6550        1660 :                 if (_ptr_array) {
    6551        1660 :                         NDR_PULL_ALLOC(ndr, r->array);
    6552             :                 } else {
    6553           0 :                         r->array = NULL;
    6554             :                 }
    6555        1660 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    6556             :         }
    6557        1660 :         if (ndr_flags & NDR_BUFFERS) {
    6558        1660 :                 if (r->array) {
    6559        1660 :                         _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6560        1660 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    6561        1660 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
    6562        1660 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
    6563        1660 :                         NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
    6564        1660 :                         _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
    6565        1660 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    6566        3320 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    6567        1660 :                                 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    6568             :                         }
    6569        3140 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    6570        1660 :                                 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    6571             :                         }
    6572        1660 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
    6573        1660 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
    6574             :                 }
    6575        1660 :                 if (r->array) {
    6576        1660 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
    6577             :                 }
    6578        1912 :                 for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    6579             :                 }
    6580             :         }
    6581        1480 :         return NDR_ERR_SUCCESS;
    6582             : }
    6583             : 
    6584         488 : _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
    6585             : {
    6586             :         uint32_t cntr_array_1;
    6587         488 :         ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
    6588         488 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6589         488 :         ndr->depth++;
    6590         488 :         ndr_print_uint32(ndr, "count", r->count);
    6591         488 :         ndr_print_ptr(ndr, "array", r->array);
    6592         488 :         ndr->depth++;
    6593         488 :         if (r->array) {
    6594         488 :                 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
    6595         488 :                 ndr->depth++;
    6596         976 :                 for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    6597         488 :                         ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
    6598             :                 }
    6599         488 :                 ndr->depth--;
    6600             :         }
    6601         488 :         ndr->depth--;
    6602         488 :         ndr->depth--;
    6603             : }
    6604             : 
    6605        1904 : static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
    6606             : {
    6607             :         uint32_t level;
    6608        1904 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6609        1904 :         if (ndr_flags & NDR_SCALARS) {
    6610             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6611        1904 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6612        1904 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    6613        1904 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    6614        1904 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    6615        1904 :                 switch (level) {
    6616        1904 :                         case 1: {
    6617        1904 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
    6618        1688 :                         break; }
    6619             : 
    6620           0 :                         default:
    6621           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    6622             :                 }
    6623           0 :         }
    6624        1904 :         if (ndr_flags & NDR_BUFFERS) {
    6625        1904 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6626             :                         /* We didn't get it above, and the token is not needed after this. */
    6627           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6628             :                 }
    6629        1904 :                 switch (level) {
    6630        1904 :                         case 1:
    6631        1904 :                                 if (r->ctr1) {
    6632        1904 :                                         NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
    6633             :                                 }
    6634        1688 :                         break;
    6635             : 
    6636           0 :                         default:
    6637           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    6638             :                 }
    6639           0 :         }
    6640        1688 :         return NDR_ERR_SUCCESS;
    6641             : }
    6642             : 
    6643        1660 : static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
    6644             : {
    6645             :         uint32_t level;
    6646             :         uint32_t _level;
    6647        1660 :         TALLOC_CTX *_mem_save_ctr1_0 = NULL;
    6648             :         uint32_t _ptr_ctr1;
    6649        1660 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6650        1660 :         if (ndr_flags & NDR_SCALARS) {
    6651             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6652        1660 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6653        1660 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    6654        1660 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    6655        1660 :                 if (_level != level) {
    6656           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    6657             :                 }
    6658        1660 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    6659        1660 :                 switch (level) {
    6660        1660 :                         case 1: {
    6661        1660 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
    6662        1660 :                                 if (_ptr_ctr1) {
    6663        1660 :                                         NDR_PULL_ALLOC(ndr, r->ctr1);
    6664             :                                 } else {
    6665           0 :                                         r->ctr1 = NULL;
    6666             :                                 }
    6667        1480 :                         break; }
    6668             : 
    6669           0 :                         default:
    6670           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    6671             :                 }
    6672           0 :         }
    6673        1660 :         if (ndr_flags & NDR_BUFFERS) {
    6674        1660 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6675             :                         /* We didn't get it above, and the token is not needed after this. */
    6676           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6677             :                 }
    6678        1660 :                 switch (level) {
    6679        1660 :                         case 1:
    6680        1660 :                                 if (r->ctr1) {
    6681        1660 :                                         _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6682        1660 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
    6683        1660 :                                         NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
    6684        1660 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
    6685             :                                 }
    6686        1480 :                         break;
    6687             : 
    6688           0 :                         default:
    6689           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    6690             :                 }
    6691           0 :         }
    6692        1480 :         return NDR_ERR_SUCCESS;
    6693             : }
    6694             : 
    6695         488 : _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
    6696             : {
    6697             :         uint32_t level;
    6698         488 :         level = ndr_print_steal_switch_value(ndr, r);
    6699         488 :         ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
    6700         488 :         switch (level) {
    6701         488 :                 case 1:
    6702         488 :                         ndr_print_ptr(ndr, "ctr1", r->ctr1);
    6703         488 :                         ndr->depth++;
    6704         488 :                         if (r->ctr1) {
    6705         488 :                                 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
    6706             :                         }
    6707         488 :                         ndr->depth--;
    6708         488 :                 break;
    6709             : 
    6710           0 :                 default:
    6711           0 :                         ndr_print_bad_level(ndr, name, level);
    6712             :         }
    6713         488 : }
    6714             : 
    6715           4 : static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
    6716             : {
    6717           4 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    6718           4 :         return NDR_ERR_SUCCESS;
    6719             : }
    6720             : 
    6721           4 : static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
    6722             : {
    6723             :         uint32_t v;
    6724           4 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    6725           4 :         *r = v;
    6726           4 :         return NDR_ERR_SUCCESS;
    6727             : }
    6728             : 
    6729           0 : _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
    6730             : {
    6731           0 :         const char *val = NULL;
    6732             : 
    6733           0 :         switch (r) {
    6734           0 :                 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
    6735           0 :                 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
    6736           0 :                 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
    6737             :         }
    6738           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    6739           0 : }
    6740             : 
    6741           8 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
    6742             : {
    6743             :         uint32_t cntr_spn_names_1;
    6744           8 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6745           8 :         if (ndr_flags & NDR_SCALARS) {
    6746           4 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    6747           4 :                 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
    6748           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
    6749           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
    6750           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    6751           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
    6752           4 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    6753             :         }
    6754           8 :         if (ndr_flags & NDR_BUFFERS) {
    6755           4 :                 if (r->object_dn) {
    6756           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
    6757           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6758           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
    6759           4 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6760             :                 }
    6761           4 :                 if (r->spn_names) {
    6762           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    6763          16 :                         for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (r->count); cntr_spn_names_1++) {
    6764          12 :                                 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
    6765             :                         }
    6766          16 :                         for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (r->count); cntr_spn_names_1++) {
    6767          12 :                                 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
    6768             :                         }
    6769             :                 }
    6770             :         }
    6771           8 :         return NDR_ERR_SUCCESS;
    6772             : }
    6773             : 
    6774           8 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
    6775             : {
    6776             :         uint32_t _ptr_object_dn;
    6777           8 :         uint32_t size_object_dn_1 = 0;
    6778           8 :         uint32_t length_object_dn_1 = 0;
    6779           8 :         TALLOC_CTX *_mem_save_object_dn_0 = NULL;
    6780             :         uint32_t _ptr_spn_names;
    6781           8 :         uint32_t size_spn_names_1 = 0;
    6782             :         uint32_t cntr_spn_names_1;
    6783           8 :         TALLOC_CTX *_mem_save_spn_names_0 = NULL;
    6784           8 :         TALLOC_CTX *_mem_save_spn_names_1 = NULL;
    6785           8 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6786           8 :         if (ndr_flags & NDR_SCALARS) {
    6787           4 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6788           4 :                 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
    6789           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
    6790           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
    6791           4 :                 if (_ptr_object_dn) {
    6792           4 :                         NDR_PULL_ALLOC(ndr, r->object_dn);
    6793             :                 } else {
    6794           0 :                         r->object_dn = NULL;
    6795             :                 }
    6796           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    6797           4 :                 if (r->count > 10000) {
    6798           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    6799             :                 }
    6800           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
    6801           4 :                 if (_ptr_spn_names) {
    6802           4 :                         NDR_PULL_ALLOC(ndr, r->spn_names);
    6803             :                 } else {
    6804           0 :                         r->spn_names = NULL;
    6805             :                 }
    6806           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    6807             :         }
    6808           8 :         if (ndr_flags & NDR_BUFFERS) {
    6809           4 :                 if (r->object_dn) {
    6810           4 :                         _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6811           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
    6812           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
    6813           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
    6814           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
    6815           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
    6816           4 :                         if (length_object_dn_1 > size_object_dn_1) {
    6817           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
    6818             :                         }
    6819           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
    6820           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
    6821           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
    6822             :                 }
    6823           4 :                 if (r->spn_names) {
    6824           4 :                         _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6825           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
    6826           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
    6827           4 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->spn_names, &size_spn_names_1));
    6828           4 :                         NDR_PULL_ALLOC_N(ndr, r->spn_names, size_spn_names_1);
    6829           4 :                         _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
    6830           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
    6831          16 :                         for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (size_spn_names_1); cntr_spn_names_1++) {
    6832          12 :                                 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
    6833             :                         }
    6834          16 :                         for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (size_spn_names_1); cntr_spn_names_1++) {
    6835          12 :                                 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
    6836             :                         }
    6837           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
    6838           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
    6839             :                 }
    6840           4 :                 if (r->spn_names) {
    6841           4 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
    6842             :                 }
    6843           4 :                 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (size_spn_names_1); cntr_spn_names_1++) {
    6844             :                 }
    6845             :         }
    6846           8 :         return NDR_ERR_SUCCESS;
    6847             : }
    6848             : 
    6849           0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
    6850             : {
    6851             :         uint32_t cntr_spn_names_1;
    6852           0 :         ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
    6853           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6854           0 :         ndr->depth++;
    6855           0 :         ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
    6856           0 :         ndr_print_uint32(ndr, "unknown1", r->unknown1);
    6857           0 :         ndr_print_ptr(ndr, "object_dn", r->object_dn);
    6858           0 :         ndr->depth++;
    6859           0 :         if (r->object_dn) {
    6860           0 :                 ndr_print_string(ndr, "object_dn", r->object_dn);
    6861             :         }
    6862           0 :         ndr->depth--;
    6863           0 :         ndr_print_uint32(ndr, "count", r->count);
    6864           0 :         ndr_print_ptr(ndr, "spn_names", r->spn_names);
    6865           0 :         ndr->depth++;
    6866           0 :         if (r->spn_names) {
    6867           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
    6868           0 :                 ndr->depth++;
    6869           0 :                 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (r->count); cntr_spn_names_1++) {
    6870           0 :                         ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
    6871             :                 }
    6872           0 :                 ndr->depth--;
    6873             :         }
    6874           0 :         ndr->depth--;
    6875           0 :         ndr->depth--;
    6876             : }
    6877             : 
    6878           4 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
    6879             : {
    6880             :         uint32_t level;
    6881           4 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6882           4 :         if (ndr_flags & NDR_SCALARS) {
    6883             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6884           4 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6885           4 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    6886           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    6887           4 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    6888           4 :                 switch (level) {
    6889           4 :                         case 1: {
    6890           4 :                                 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
    6891           4 :                         break; }
    6892             : 
    6893           0 :                         default:
    6894           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    6895             :                 }
    6896           0 :         }
    6897           4 :         if (ndr_flags & NDR_BUFFERS) {
    6898           4 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6899             :                         /* We didn't get it above, and the token is not needed after this. */
    6900           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6901             :                 }
    6902           4 :                 switch (level) {
    6903           4 :                         case 1:
    6904           4 :                                 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
    6905           4 :                         break;
    6906             : 
    6907           0 :                         default:
    6908           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    6909             :                 }
    6910           0 :         }
    6911           4 :         return NDR_ERR_SUCCESS;
    6912             : }
    6913             : 
    6914           4 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
    6915             : {
    6916             :         uint32_t level;
    6917             :         uint32_t _level;
    6918           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6919           4 :         if (ndr_flags & NDR_SCALARS) {
    6920             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6921           4 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6922           4 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    6923           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    6924           4 :                 if (_level != level) {
    6925           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    6926             :                 }
    6927           4 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    6928           4 :                 switch (level) {
    6929           4 :                         case 1: {
    6930           4 :                                 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
    6931           4 :                         break; }
    6932             : 
    6933           0 :                         default:
    6934           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    6935             :                 }
    6936           0 :         }
    6937           4 :         if (ndr_flags & NDR_BUFFERS) {
    6938           4 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6939             :                         /* We didn't get it above, and the token is not needed after this. */
    6940           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6941             :                 }
    6942           4 :                 switch (level) {
    6943           4 :                         case 1:
    6944           4 :                                 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
    6945           4 :                         break;
    6946             : 
    6947           0 :                         default:
    6948           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    6949             :                 }
    6950           0 :         }
    6951           4 :         return NDR_ERR_SUCCESS;
    6952             : }
    6953             : 
    6954           0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
    6955             : {
    6956             :         uint32_t level;
    6957           0 :         level = ndr_print_steal_switch_value(ndr, r);
    6958           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
    6959           0 :         switch (level) {
    6960           0 :                 case 1:
    6961           0 :                         ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
    6962           0 :                 break;
    6963             : 
    6964           0 :                 default:
    6965           0 :                         ndr_print_bad_level(ndr, name, level);
    6966             :         }
    6967           0 : }
    6968             : 
    6969           4 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
    6970             : {
    6971           4 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6972           4 :         if (ndr_flags & NDR_SCALARS) {
    6973           4 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    6974           4 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
    6975           4 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    6976             :         }
    6977           4 :         if (ndr_flags & NDR_BUFFERS) {
    6978             :         }
    6979           4 :         return NDR_ERR_SUCCESS;
    6980             : }
    6981             : 
    6982           4 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
    6983             : {
    6984           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6985           4 :         if (ndr_flags & NDR_SCALARS) {
    6986           4 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    6987           4 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
    6988           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    6989             :         }
    6990           4 :         if (ndr_flags & NDR_BUFFERS) {
    6991             :         }
    6992           4 :         return NDR_ERR_SUCCESS;
    6993             : }
    6994             : 
    6995           0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
    6996             : {
    6997           0 :         ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
    6998           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6999           0 :         ndr->depth++;
    7000           0 :         ndr_print_WERROR(ndr, "status", r->status);
    7001           0 :         ndr->depth--;
    7002             : }
    7003             : 
    7004           4 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
    7005             : {
    7006             :         uint32_t level;
    7007           4 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7008           4 :         if (ndr_flags & NDR_SCALARS) {
    7009             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7010           4 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7011           4 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
    7012           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    7013           4 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
    7014           4 :                 switch (level) {
    7015           4 :                         case 1: {
    7016           4 :                                 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
    7017           4 :                         break; }
    7018             : 
    7019           0 :                         default:
    7020           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7021             :                 }
    7022           0 :         }
    7023           4 :         if (ndr_flags & NDR_BUFFERS) {
    7024           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7025             :                         /* We didn't get it above, and the token is not needed after this. */
    7026           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7027             :                 }
    7028           0 :                 switch (level) {
    7029           0 :                         case 1:
    7030           0 :                         break;
    7031             : 
    7032           0 :                         default:
    7033           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7034             :                 }
    7035           4 :         }
    7036           4 :         return NDR_ERR_SUCCESS;
    7037             : }
    7038             : 
    7039           4 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
    7040             : {
    7041             :         uint32_t level;
    7042             :         uint32_t _level;
    7043           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7044           4 :         if (ndr_flags & NDR_SCALARS) {
    7045             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7046           4 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7047           4 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
    7048           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    7049           4 :                 if (_level != level) {
    7050           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    7051             :                 }
    7052           4 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
    7053           4 :                 switch (level) {
    7054           4 :                         case 1: {
    7055           4 :                                 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
    7056           4 :                         break; }
    7057             : 
    7058           0 :                         default:
    7059           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7060             :                 }
    7061           0 :         }
    7062           4 :         if (ndr_flags & NDR_BUFFERS) {
    7063           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7064             :                         /* We didn't get it above, and the token is not needed after this. */
    7065           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7066             :                 }
    7067           0 :                 switch (level) {
    7068           0 :                         case 1:
    7069           0 :                         break;
    7070             : 
    7071           0 :                         default:
    7072           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7073             :                 }
    7074           4 :         }
    7075           4 :         return NDR_ERR_SUCCESS;
    7076             : }
    7077             : 
    7078           0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
    7079             : {
    7080             :         uint32_t level;
    7081           0 :         level = ndr_print_steal_switch_value(ndr, r);
    7082           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
    7083           0 :         switch (level) {
    7084           0 :                 case 1:
    7085           0 :                         ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
    7086           0 :                 break;
    7087             : 
    7088           0 :                 default:
    7089           0 :                         ndr_print_bad_level(ndr, name, level);
    7090             :         }
    7091           0 : }
    7092             : 
    7093          14 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
    7094             : {
    7095          14 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7096          14 :         if (ndr_flags & NDR_SCALARS) {
    7097           7 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7098           7 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
    7099           7 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
    7100           7 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
    7101           7 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7102             :         }
    7103          14 :         if (ndr_flags & NDR_BUFFERS) {
    7104           7 :                 if (r->server_dn) {
    7105           7 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
    7106           7 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7107           7 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
    7108           7 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7109             :                 }
    7110           7 :                 if (r->domain_dn) {
    7111           7 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
    7112           7 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7113           7 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
    7114           7 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7115             :                 }
    7116             :         }
    7117          14 :         return NDR_ERR_SUCCESS;
    7118             : }
    7119             : 
    7120          14 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
    7121             : {
    7122             :         uint32_t _ptr_server_dn;
    7123          14 :         uint32_t size_server_dn_1 = 0;
    7124          14 :         uint32_t length_server_dn_1 = 0;
    7125          14 :         TALLOC_CTX *_mem_save_server_dn_0 = NULL;
    7126             :         uint32_t _ptr_domain_dn;
    7127          14 :         uint32_t size_domain_dn_1 = 0;
    7128          14 :         uint32_t length_domain_dn_1 = 0;
    7129          14 :         TALLOC_CTX *_mem_save_domain_dn_0 = NULL;
    7130          14 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7131          14 :         if (ndr_flags & NDR_SCALARS) {
    7132           7 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    7133           7 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
    7134           7 :                 if (_ptr_server_dn) {
    7135           7 :                         NDR_PULL_ALLOC(ndr, r->server_dn);
    7136             :                 } else {
    7137           0 :                         r->server_dn = NULL;
    7138             :                 }
    7139           7 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
    7140           7 :                 if (_ptr_domain_dn) {
    7141           7 :                         NDR_PULL_ALLOC(ndr, r->domain_dn);
    7142             :                 } else {
    7143           0 :                         r->domain_dn = NULL;
    7144             :                 }
    7145           7 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
    7146           7 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    7147             :         }
    7148          14 :         if (ndr_flags & NDR_BUFFERS) {
    7149           7 :                 if (r->server_dn) {
    7150           7 :                         _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7151           7 :                         NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
    7152           7 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
    7153           7 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
    7154           7 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->server_dn, &size_server_dn_1));
    7155           7 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->server_dn, &length_server_dn_1));
    7156           7 :                         if (length_server_dn_1 > size_server_dn_1) {
    7157           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
    7158             :                         }
    7159           7 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
    7160           7 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
    7161           7 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
    7162             :                 }
    7163           7 :                 if (r->domain_dn) {
    7164           7 :                         _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7165           7 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
    7166           7 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
    7167           7 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
    7168           7 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_dn, &size_domain_dn_1));
    7169           7 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_dn, &length_domain_dn_1));
    7170           7 :                         if (length_domain_dn_1 > size_domain_dn_1) {
    7171           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_dn_1, length_domain_dn_1);
    7172             :                         }
    7173           7 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_dn_1, sizeof(uint16_t)));
    7174           7 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, length_domain_dn_1, sizeof(uint16_t), CH_UTF16));
    7175           7 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
    7176             :                 }
    7177             :         }
    7178          14 :         return NDR_ERR_SUCCESS;
    7179             : }
    7180             : 
    7181           0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
    7182             : {
    7183           0 :         ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
    7184           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7185           0 :         ndr->depth++;
    7186           0 :         ndr_print_ptr(ndr, "server_dn", r->server_dn);
    7187           0 :         ndr->depth++;
    7188           0 :         if (r->server_dn) {
    7189           0 :                 ndr_print_string(ndr, "server_dn", r->server_dn);
    7190             :         }
    7191           0 :         ndr->depth--;
    7192           0 :         ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
    7193           0 :         ndr->depth++;
    7194           0 :         if (r->domain_dn) {
    7195           0 :                 ndr_print_string(ndr, "domain_dn", r->domain_dn);
    7196             :         }
    7197           0 :         ndr->depth--;
    7198           0 :         ndr_print_uint32(ndr, "commit", r->commit);
    7199           0 :         ndr->depth--;
    7200             : }
    7201             : 
    7202           7 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
    7203             : {
    7204             :         uint32_t level;
    7205           7 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7206           7 :         if (ndr_flags & NDR_SCALARS) {
    7207             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7208           7 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7209           7 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    7210           7 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    7211           7 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    7212           7 :                 switch (level) {
    7213           7 :                         case 1: {
    7214           7 :                                 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
    7215           7 :                         break; }
    7216             : 
    7217           0 :                         default:
    7218           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7219             :                 }
    7220           0 :         }
    7221           7 :         if (ndr_flags & NDR_BUFFERS) {
    7222           7 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7223             :                         /* We didn't get it above, and the token is not needed after this. */
    7224           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7225             :                 }
    7226           7 :                 switch (level) {
    7227           7 :                         case 1:
    7228           7 :                                 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
    7229           7 :                         break;
    7230             : 
    7231           0 :                         default:
    7232           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7233             :                 }
    7234           0 :         }
    7235           7 :         return NDR_ERR_SUCCESS;
    7236             : }
    7237             : 
    7238           7 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
    7239             : {
    7240             :         uint32_t level;
    7241             :         uint32_t _level;
    7242           7 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7243           7 :         if (ndr_flags & NDR_SCALARS) {
    7244             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7245           7 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7246           7 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    7247           7 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    7248           7 :                 if (_level != level) {
    7249           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    7250             :                 }
    7251           7 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    7252           7 :                 switch (level) {
    7253           7 :                         case 1: {
    7254           7 :                                 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
    7255           7 :                         break; }
    7256             : 
    7257           0 :                         default:
    7258           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7259             :                 }
    7260           0 :         }
    7261           7 :         if (ndr_flags & NDR_BUFFERS) {
    7262           7 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7263             :                         /* We didn't get it above, and the token is not needed after this. */
    7264           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7265             :                 }
    7266           7 :                 switch (level) {
    7267           7 :                         case 1:
    7268           7 :                                 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
    7269           7 :                         break;
    7270             : 
    7271           0 :                         default:
    7272           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7273             :                 }
    7274           0 :         }
    7275           7 :         return NDR_ERR_SUCCESS;
    7276             : }
    7277             : 
    7278           0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
    7279             : {
    7280             :         uint32_t level;
    7281           0 :         level = ndr_print_steal_switch_value(ndr, r);
    7282           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
    7283           0 :         switch (level) {
    7284           0 :                 case 1:
    7285           0 :                         ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
    7286           0 :                 break;
    7287             : 
    7288           0 :                 default:
    7289           0 :                         ndr_print_bad_level(ndr, name, level);
    7290             :         }
    7291           0 : }
    7292             : 
    7293           7 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
    7294             : {
    7295           7 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7296           7 :         if (ndr_flags & NDR_SCALARS) {
    7297           7 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    7298           7 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
    7299           7 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    7300             :         }
    7301           7 :         if (ndr_flags & NDR_BUFFERS) {
    7302             :         }
    7303           7 :         return NDR_ERR_SUCCESS;
    7304             : }
    7305             : 
    7306           7 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
    7307             : {
    7308           7 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7309           7 :         if (ndr_flags & NDR_SCALARS) {
    7310           7 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    7311           7 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
    7312           7 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    7313             :         }
    7314           7 :         if (ndr_flags & NDR_BUFFERS) {
    7315             :         }
    7316           7 :         return NDR_ERR_SUCCESS;
    7317             : }
    7318             : 
    7319           0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
    7320             : {
    7321           0 :         ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
    7322           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7323           0 :         ndr->depth++;
    7324           0 :         ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
    7325           0 :         ndr->depth--;
    7326             : }
    7327             : 
    7328           7 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
    7329             : {
    7330             :         uint32_t level;
    7331           7 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7332           7 :         if (ndr_flags & NDR_SCALARS) {
    7333             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7334           7 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7335           7 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
    7336           7 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    7337           7 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
    7338           7 :                 switch (level) {
    7339           7 :                         case 1: {
    7340           7 :                                 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
    7341           7 :                         break; }
    7342             : 
    7343           0 :                         default:
    7344           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7345             :                 }
    7346           0 :         }
    7347           7 :         if (ndr_flags & NDR_BUFFERS) {
    7348           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7349             :                         /* We didn't get it above, and the token is not needed after this. */
    7350           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7351             :                 }
    7352           0 :                 switch (level) {
    7353           0 :                         case 1:
    7354           0 :                         break;
    7355             : 
    7356           0 :                         default:
    7357           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7358             :                 }
    7359           5 :         }
    7360           7 :         return NDR_ERR_SUCCESS;
    7361             : }
    7362             : 
    7363           7 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
    7364             : {
    7365             :         uint32_t level;
    7366             :         uint32_t _level;
    7367           7 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7368           7 :         if (ndr_flags & NDR_SCALARS) {
    7369             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7370           7 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7371           7 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
    7372           7 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    7373           7 :                 if (_level != level) {
    7374           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    7375             :                 }
    7376           7 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
    7377           7 :                 switch (level) {
    7378           7 :                         case 1: {
    7379           7 :                                 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
    7380           7 :                         break; }
    7381             : 
    7382           0 :                         default:
    7383           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7384             :                 }
    7385           0 :         }
    7386           7 :         if (ndr_flags & NDR_BUFFERS) {
    7387           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7388             :                         /* We didn't get it above, and the token is not needed after this. */
    7389           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7390             :                 }
    7391           0 :                 switch (level) {
    7392           0 :                         case 1:
    7393           0 :                         break;
    7394             : 
    7395           0 :                         default:
    7396           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7397             :                 }
    7398           5 :         }
    7399           7 :         return NDR_ERR_SUCCESS;
    7400             : }
    7401             : 
    7402           0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
    7403             : {
    7404             :         uint32_t level;
    7405           0 :         level = ndr_print_steal_switch_value(ndr, r);
    7406           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
    7407           0 :         switch (level) {
    7408           0 :                 case 1:
    7409           0 :                         ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
    7410           0 :                 break;
    7411             : 
    7412           0 :                 default:
    7413           0 :                         ndr_print_bad_level(ndr, name, level);
    7414             :         }
    7415           0 : }
    7416             : 
    7417          18 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtrLevels(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetDCInfoCtrLevels r)
    7418             : {
    7419          18 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    7420          18 :         return NDR_ERR_SUCCESS;
    7421             : }
    7422             : 
    7423          12 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtrLevels(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetDCInfoCtrLevels *r)
    7424             : {
    7425             :         uint32_t v;
    7426          12 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    7427          12 :         *r = v;
    7428          12 :         return NDR_ERR_SUCCESS;
    7429             : }
    7430             : 
    7431           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtrLevels(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetDCInfoCtrLevels r)
    7432             : {
    7433           0 :         const char *val = NULL;
    7434             : 
    7435           0 :         switch (r) {
    7436           0 :                 case DRSUAPI_DC_INFO_CTR_1: val = "DRSUAPI_DC_INFO_CTR_1"; break;
    7437           0 :                 case DRSUAPI_DC_INFO_CTR_2: val = "DRSUAPI_DC_INFO_CTR_2"; break;
    7438           0 :                 case DRSUAPI_DC_INFO_CTR_3: val = "DRSUAPI_DC_INFO_CTR_3"; break;
    7439           0 :                 case DRSUAPI_DC_CONNECTION_CTR_01: val = "DRSUAPI_DC_CONNECTION_CTR_01"; break;
    7440             :         }
    7441           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    7442           0 : }
    7443             : 
    7444          12 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
    7445             : {
    7446          12 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7447          12 :         if (ndr_flags & NDR_SCALARS) {
    7448           6 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7449           6 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
    7450           6 :                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, r->level));
    7451           6 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7452             :         }
    7453          12 :         if (ndr_flags & NDR_BUFFERS) {
    7454           6 :                 if (r->domain_name) {
    7455           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
    7456           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7457           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
    7458           6 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7459             :                 }
    7460             :         }
    7461          12 :         return NDR_ERR_SUCCESS;
    7462             : }
    7463             : 
    7464          12 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
    7465             : {
    7466             :         uint32_t _ptr_domain_name;
    7467          12 :         uint32_t size_domain_name_1 = 0;
    7468          12 :         uint32_t length_domain_name_1 = 0;
    7469          12 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
    7470          12 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7471          12 :         if (ndr_flags & NDR_SCALARS) {
    7472           6 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    7473           6 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
    7474           6 :                 if (_ptr_domain_name) {
    7475           6 :                         NDR_PULL_ALLOC(ndr, r->domain_name);
    7476             :                 } else {
    7477           0 :                         r->domain_name = NULL;
    7478             :                 }
    7479           6 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, &r->level));
    7480           6 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    7481             :         }
    7482          12 :         if (ndr_flags & NDR_BUFFERS) {
    7483           6 :                 if (r->domain_name) {
    7484           6 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7485           6 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
    7486           6 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
    7487           6 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
    7488           6 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_name, &size_domain_name_1));
    7489           6 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_name, &length_domain_name_1));
    7490           6 :                         if (length_domain_name_1 > size_domain_name_1) {
    7491           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
    7492             :                         }
    7493           6 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
    7494           6 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
    7495           6 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
    7496             :                 }
    7497             :         }
    7498          12 :         return NDR_ERR_SUCCESS;
    7499             : }
    7500             : 
    7501           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
    7502             : {
    7503           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
    7504           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7505           0 :         ndr->depth++;
    7506           0 :         ndr_print_ptr(ndr, "domain_name", r->domain_name);
    7507           0 :         ndr->depth++;
    7508           0 :         if (r->domain_name) {
    7509           0 :                 ndr_print_string(ndr, "domain_name", r->domain_name);
    7510             :         }
    7511           0 :         ndr->depth--;
    7512           0 :         ndr_print_drsuapi_DsGetDCInfoCtrLevels(ndr, "level", r->level);
    7513           0 :         ndr->depth--;
    7514             : }
    7515             : 
    7516           6 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
    7517             : {
    7518             :         uint32_t level;
    7519           6 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7520           6 :         if (ndr_flags & NDR_SCALARS) {
    7521             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7522           6 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7523           6 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    7524           6 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    7525           6 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    7526           6 :                 switch (level) {
    7527           6 :                         case 1: {
    7528           6 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
    7529           6 :                         break; }
    7530             : 
    7531           0 :                         default:
    7532           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7533             :                 }
    7534           0 :         }
    7535           6 :         if (ndr_flags & NDR_BUFFERS) {
    7536           6 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7537             :                         /* We didn't get it above, and the token is not needed after this. */
    7538           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7539             :                 }
    7540           6 :                 switch (level) {
    7541           6 :                         case 1:
    7542           6 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
    7543           6 :                         break;
    7544             : 
    7545           0 :                         default:
    7546           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7547             :                 }
    7548           0 :         }
    7549           6 :         return NDR_ERR_SUCCESS;
    7550             : }
    7551             : 
    7552           6 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
    7553             : {
    7554             :         uint32_t level;
    7555             :         uint32_t _level;
    7556           6 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7557           6 :         if (ndr_flags & NDR_SCALARS) {
    7558             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7559           6 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7560           6 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    7561           6 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    7562           6 :                 if (_level != level) {
    7563           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    7564             :                 }
    7565           6 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    7566           6 :                 switch (level) {
    7567           6 :                         case 1: {
    7568           6 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
    7569           6 :                         break; }
    7570             : 
    7571           0 :                         default:
    7572           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7573             :                 }
    7574           0 :         }
    7575           6 :         if (ndr_flags & NDR_BUFFERS) {
    7576           6 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7577             :                         /* We didn't get it above, and the token is not needed after this. */
    7578           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7579             :                 }
    7580           6 :                 switch (level) {
    7581           6 :                         case 1:
    7582           6 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
    7583           6 :                         break;
    7584             : 
    7585           0 :                         default:
    7586           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7587             :                 }
    7588           0 :         }
    7589           6 :         return NDR_ERR_SUCCESS;
    7590             : }
    7591             : 
    7592           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
    7593             : {
    7594             :         uint32_t level;
    7595           0 :         level = ndr_print_steal_switch_value(ndr, r);
    7596           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
    7597           0 :         switch (level) {
    7598           0 :                 case 1:
    7599           0 :                         ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
    7600           0 :                 break;
    7601             : 
    7602           0 :                 default:
    7603           0 :                         ndr_print_bad_level(ndr, name, level);
    7604             :         }
    7605           0 : }
    7606             : 
    7607          12 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
    7608             : {
    7609          12 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7610          12 :         if (ndr_flags & NDR_SCALARS) {
    7611           6 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7612           6 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
    7613           6 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
    7614           6 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
    7615           6 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
    7616           6 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
    7617           6 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
    7618           6 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
    7619           6 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7620             :         }
    7621          12 :         if (ndr_flags & NDR_BUFFERS) {
    7622           6 :                 if (r->netbios_name) {
    7623           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
    7624           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7625           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
    7626           6 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7627             :                 }
    7628           6 :                 if (r->dns_name) {
    7629           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
    7630           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7631           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
    7632           6 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7633             :                 }
    7634           6 :                 if (r->site_name) {
    7635           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
    7636           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7637           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
    7638           6 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7639             :                 }
    7640           6 :                 if (r->computer_dn) {
    7641           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
    7642           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7643           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
    7644           6 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7645             :                 }
    7646           6 :                 if (r->server_dn) {
    7647           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
    7648           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7649           6 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
    7650           6 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7651             :                 }
    7652             :         }
    7653          12 :         return NDR_ERR_SUCCESS;
    7654             : }
    7655             : 
    7656          12 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
    7657             : {
    7658             :         uint32_t _ptr_netbios_name;
    7659          12 :         uint32_t size_netbios_name_1 = 0;
    7660          12 :         uint32_t length_netbios_name_1 = 0;
    7661          12 :         TALLOC_CTX *_mem_save_netbios_name_0 = NULL;
    7662             :         uint32_t _ptr_dns_name;
    7663          12 :         uint32_t size_dns_name_1 = 0;
    7664          12 :         uint32_t length_dns_name_1 = 0;
    7665          12 :         TALLOC_CTX *_mem_save_dns_name_0 = NULL;
    7666             :         uint32_t _ptr_site_name;
    7667          12 :         uint32_t size_site_name_1 = 0;
    7668          12 :         uint32_t length_site_name_1 = 0;
    7669          12 :         TALLOC_CTX *_mem_save_site_name_0 = NULL;
    7670             :         uint32_t _ptr_computer_dn;
    7671          12 :         uint32_t size_computer_dn_1 = 0;
    7672          12 :         uint32_t length_computer_dn_1 = 0;
    7673          12 :         TALLOC_CTX *_mem_save_computer_dn_0 = NULL;
    7674             :         uint32_t _ptr_server_dn;
    7675          12 :         uint32_t size_server_dn_1 = 0;
    7676          12 :         uint32_t length_server_dn_1 = 0;
    7677          12 :         TALLOC_CTX *_mem_save_server_dn_0 = NULL;
    7678          12 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7679          12 :         if (ndr_flags & NDR_SCALARS) {
    7680           6 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    7681           6 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
    7682           6 :                 if (_ptr_netbios_name) {
    7683           6 :                         NDR_PULL_ALLOC(ndr, r->netbios_name);
    7684             :                 } else {
    7685           0 :                         r->netbios_name = NULL;
    7686             :                 }
    7687           6 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
    7688           6 :                 if (_ptr_dns_name) {
    7689           6 :                         NDR_PULL_ALLOC(ndr, r->dns_name);
    7690             :                 } else {
    7691           0 :                         r->dns_name = NULL;
    7692             :                 }
    7693           6 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
    7694           6 :                 if (_ptr_site_name) {
    7695           6 :                         NDR_PULL_ALLOC(ndr, r->site_name);
    7696             :                 } else {
    7697           0 :                         r->site_name = NULL;
    7698             :                 }
    7699           6 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
    7700           6 :                 if (_ptr_computer_dn) {
    7701           6 :                         NDR_PULL_ALLOC(ndr, r->computer_dn);
    7702             :                 } else {
    7703           0 :                         r->computer_dn = NULL;
    7704             :                 }
    7705           6 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
    7706           6 :                 if (_ptr_server_dn) {
    7707           6 :                         NDR_PULL_ALLOC(ndr, r->server_dn);
    7708             :                 } else {
    7709           0 :                         r->server_dn = NULL;
    7710             :                 }
    7711           6 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
    7712           6 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
    7713           6 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    7714             :         }
    7715          12 :         if (ndr_flags & NDR_BUFFERS) {
    7716           6 :                 if (r->netbios_name) {
    7717           6 :                         _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7718           6 :                         NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
    7719           6 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
    7720           6 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
    7721           6 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->netbios_name, &size_netbios_name_1));
    7722           6 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->netbios_name, &length_netbios_name_1));
    7723           6 :                         if (length_netbios_name_1 > size_netbios_name_1) {
    7724           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
    7725             :                         }
    7726           6 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
    7727           6 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
    7728           6 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
    7729             :                 }
    7730           6 :                 if (r->dns_name) {
    7731           6 :                         _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7732           6 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
    7733           6 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
    7734           6 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
    7735           6 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_name, &size_dns_name_1));
    7736           6 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_name, &length_dns_name_1));
    7737           6 :                         if (length_dns_name_1 > size_dns_name_1) {
    7738           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
    7739             :                         }
    7740           6 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
    7741           6 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
    7742           6 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
    7743             :                 }
    7744           6 :                 if (r->site_name) {
    7745           6 :                         _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7746           6 :                         NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
    7747           6 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
    7748           6 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
    7749           6 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_name, &size_site_name_1));
    7750           6 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_name, &length_site_name_1));
    7751           6 :                         if (length_site_name_1 > size_site_name_1) {
    7752           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
    7753             :                         }
    7754           6 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
    7755           6 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
    7756           6 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
    7757             :                 }
    7758           6 :                 if (r->computer_dn) {
    7759           6 :                         _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7760           6 :                         NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
    7761           6 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
    7762           6 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
    7763           6 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->computer_dn, &size_computer_dn_1));
    7764           6 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->computer_dn, &length_computer_dn_1));
    7765           6 :                         if (length_computer_dn_1 > size_computer_dn_1) {
    7766           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
    7767             :                         }
    7768           6 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
    7769           6 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
    7770           6 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
    7771             :                 }
    7772           6 :                 if (r->server_dn) {
    7773           6 :                         _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7774           6 :                         NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
    7775           6 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
    7776           6 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
    7777           6 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->server_dn, &size_server_dn_1));
    7778           6 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->server_dn, &length_server_dn_1));
    7779           6 :                         if (length_server_dn_1 > size_server_dn_1) {
    7780           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
    7781             :                         }
    7782           6 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
    7783           6 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
    7784           6 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
    7785             :                 }
    7786             :         }
    7787          12 :         return NDR_ERR_SUCCESS;
    7788             : }
    7789             : 
    7790           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
    7791             : {
    7792           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
    7793           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7794           0 :         ndr->depth++;
    7795           0 :         ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
    7796           0 :         ndr->depth++;
    7797           0 :         if (r->netbios_name) {
    7798           0 :                 ndr_print_string(ndr, "netbios_name", r->netbios_name);
    7799             :         }
    7800           0 :         ndr->depth--;
    7801           0 :         ndr_print_ptr(ndr, "dns_name", r->dns_name);
    7802           0 :         ndr->depth++;
    7803           0 :         if (r->dns_name) {
    7804           0 :                 ndr_print_string(ndr, "dns_name", r->dns_name);
    7805             :         }
    7806           0 :         ndr->depth--;
    7807           0 :         ndr_print_ptr(ndr, "site_name", r->site_name);
    7808           0 :         ndr->depth++;
    7809           0 :         if (r->site_name) {
    7810           0 :                 ndr_print_string(ndr, "site_name", r->site_name);
    7811             :         }
    7812           0 :         ndr->depth--;
    7813           0 :         ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
    7814           0 :         ndr->depth++;
    7815           0 :         if (r->computer_dn) {
    7816           0 :                 ndr_print_string(ndr, "computer_dn", r->computer_dn);
    7817             :         }
    7818           0 :         ndr->depth--;
    7819           0 :         ndr_print_ptr(ndr, "server_dn", r->server_dn);
    7820           0 :         ndr->depth++;
    7821           0 :         if (r->server_dn) {
    7822           0 :                 ndr_print_string(ndr, "server_dn", r->server_dn);
    7823             :         }
    7824           0 :         ndr->depth--;
    7825           0 :         ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
    7826           0 :         ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
    7827           0 :         ndr->depth--;
    7828             : }
    7829             : 
    7830           6 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
    7831             : {
    7832             :         uint32_t cntr_array_1;
    7833           6 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7834           6 :         if (ndr_flags & NDR_SCALARS) {
    7835           3 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7836           3 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    7837           3 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
    7838           3 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7839             :         }
    7840           6 :         if (ndr_flags & NDR_BUFFERS) {
    7841           3 :                 if (r->array) {
    7842           3 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    7843           9 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    7844           6 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    7845             :                         }
    7846           9 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    7847           6 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    7848             :                         }
    7849             :                 }
    7850             :         }
    7851           6 :         return NDR_ERR_SUCCESS;
    7852             : }
    7853             : 
    7854           6 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
    7855             : {
    7856             :         uint32_t _ptr_array;
    7857           6 :         uint32_t size_array_1 = 0;
    7858             :         uint32_t cntr_array_1;
    7859           6 :         TALLOC_CTX *_mem_save_array_0 = NULL;
    7860           6 :         TALLOC_CTX *_mem_save_array_1 = NULL;
    7861           6 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7862           6 :         if (ndr_flags & NDR_SCALARS) {
    7863           3 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    7864           3 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    7865           3 :                 if (r->count > 10000) {
    7866           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    7867             :                 }
    7868           3 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
    7869           3 :                 if (_ptr_array) {
    7870           3 :                         NDR_PULL_ALLOC(ndr, r->array);
    7871             :                 } else {
    7872           0 :                         r->array = NULL;
    7873             :                 }
    7874           3 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    7875             :         }
    7876           6 :         if (ndr_flags & NDR_BUFFERS) {
    7877           3 :                 if (r->array) {
    7878           3 :                         _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7879           3 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    7880           3 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
    7881           3 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
    7882           3 :                         NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
    7883           3 :                         _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
    7884           3 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    7885           9 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    7886           6 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    7887             :                         }
    7888           9 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    7889           6 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    7890             :                         }
    7891           3 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
    7892           3 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
    7893             :                 }
    7894           3 :                 if (r->array) {
    7895           3 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
    7896             :                 }
    7897           3 :                 for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    7898             :                 }
    7899             :         }
    7900           6 :         return NDR_ERR_SUCCESS;
    7901             : }
    7902             : 
    7903           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
    7904             : {
    7905             :         uint32_t cntr_array_1;
    7906           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
    7907           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7908           0 :         ndr->depth++;
    7909           0 :         ndr_print_uint32(ndr, "count", r->count);
    7910           0 :         ndr_print_ptr(ndr, "array", r->array);
    7911           0 :         ndr->depth++;
    7912           0 :         if (r->array) {
    7913           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
    7914           0 :                 ndr->depth++;
    7915           0 :                 for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    7916           0 :                         ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
    7917             :                 }
    7918           0 :                 ndr->depth--;
    7919             :         }
    7920           0 :         ndr->depth--;
    7921           0 :         ndr->depth--;
    7922             : }
    7923             : 
    7924           8 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
    7925             : {
    7926           8 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7927           8 :         if (ndr_flags & NDR_SCALARS) {
    7928           4 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7929           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
    7930           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
    7931           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
    7932           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
    7933           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
    7934           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
    7935           4 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
    7936           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
    7937           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
    7938           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
    7939           4 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
    7940           4 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
    7941           4 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
    7942           4 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
    7943           4 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7944             :         }
    7945           8 :         if (ndr_flags & NDR_BUFFERS) {
    7946           4 :                 if (r->netbios_name) {
    7947           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
    7948           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7949           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
    7950           4 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7951             :                 }
    7952           4 :                 if (r->dns_name) {
    7953           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
    7954           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7955           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
    7956           4 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7957             :                 }
    7958           4 :                 if (r->site_name) {
    7959           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
    7960           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7961           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
    7962           4 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7963             :                 }
    7964           4 :                 if (r->site_dn) {
    7965           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
    7966           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7967           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
    7968           4 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7969             :                 }
    7970           4 :                 if (r->computer_dn) {
    7971           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
    7972           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7973           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
    7974           4 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7975             :                 }
    7976           4 :                 if (r->server_dn) {
    7977           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
    7978           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7979           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
    7980           4 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7981             :                 }
    7982           4 :                 if (r->ntds_dn) {
    7983           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
    7984           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7985           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
    7986           2 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7987             :                 }
    7988             :         }
    7989           8 :         return NDR_ERR_SUCCESS;
    7990             : }
    7991             : 
    7992           8 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
    7993             : {
    7994             :         uint32_t _ptr_netbios_name;
    7995           8 :         uint32_t size_netbios_name_1 = 0;
    7996           8 :         uint32_t length_netbios_name_1 = 0;
    7997           8 :         TALLOC_CTX *_mem_save_netbios_name_0 = NULL;
    7998             :         uint32_t _ptr_dns_name;
    7999           8 :         uint32_t size_dns_name_1 = 0;
    8000           8 :         uint32_t length_dns_name_1 = 0;
    8001           8 :         TALLOC_CTX *_mem_save_dns_name_0 = NULL;
    8002             :         uint32_t _ptr_site_name;
    8003           8 :         uint32_t size_site_name_1 = 0;
    8004           8 :         uint32_t length_site_name_1 = 0;
    8005           8 :         TALLOC_CTX *_mem_save_site_name_0 = NULL;
    8006             :         uint32_t _ptr_site_dn;
    8007           8 :         uint32_t size_site_dn_1 = 0;
    8008           8 :         uint32_t length_site_dn_1 = 0;
    8009           8 :         TALLOC_CTX *_mem_save_site_dn_0 = NULL;
    8010             :         uint32_t _ptr_computer_dn;
    8011           8 :         uint32_t size_computer_dn_1 = 0;
    8012           8 :         uint32_t length_computer_dn_1 = 0;
    8013           8 :         TALLOC_CTX *_mem_save_computer_dn_0 = NULL;
    8014             :         uint32_t _ptr_server_dn;
    8015           8 :         uint32_t size_server_dn_1 = 0;
    8016           8 :         uint32_t length_server_dn_1 = 0;
    8017           8 :         TALLOC_CTX *_mem_save_server_dn_0 = NULL;
    8018             :         uint32_t _ptr_ntds_dn;
    8019           8 :         uint32_t size_ntds_dn_1 = 0;
    8020           8 :         uint32_t length_ntds_dn_1 = 0;
    8021           8 :         TALLOC_CTX *_mem_save_ntds_dn_0 = NULL;
    8022           8 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8023           8 :         if (ndr_flags & NDR_SCALARS) {
    8024           4 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8025           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
    8026           4 :                 if (_ptr_netbios_name) {
    8027           4 :                         NDR_PULL_ALLOC(ndr, r->netbios_name);
    8028             :                 } else {
    8029           0 :                         r->netbios_name = NULL;
    8030             :                 }
    8031           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
    8032           4 :                 if (_ptr_dns_name) {
    8033           4 :                         NDR_PULL_ALLOC(ndr, r->dns_name);
    8034             :                 } else {
    8035           0 :                         r->dns_name = NULL;
    8036             :                 }
    8037           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
    8038           4 :                 if (_ptr_site_name) {
    8039           4 :                         NDR_PULL_ALLOC(ndr, r->site_name);
    8040             :                 } else {
    8041           0 :                         r->site_name = NULL;
    8042             :                 }
    8043           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
    8044           4 :                 if (_ptr_site_dn) {
    8045           4 :                         NDR_PULL_ALLOC(ndr, r->site_dn);
    8046             :                 } else {
    8047           0 :                         r->site_dn = NULL;
    8048             :                 }
    8049           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
    8050           4 :                 if (_ptr_computer_dn) {
    8051           4 :                         NDR_PULL_ALLOC(ndr, r->computer_dn);
    8052             :                 } else {
    8053           0 :                         r->computer_dn = NULL;
    8054             :                 }
    8055           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
    8056           4 :                 if (_ptr_server_dn) {
    8057           4 :                         NDR_PULL_ALLOC(ndr, r->server_dn);
    8058             :                 } else {
    8059           0 :                         r->server_dn = NULL;
    8060             :                 }
    8061           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
    8062           4 :                 if (_ptr_ntds_dn) {
    8063           2 :                         NDR_PULL_ALLOC(ndr, r->ntds_dn);
    8064             :                 } else {
    8065           2 :                         r->ntds_dn = NULL;
    8066             :                 }
    8067           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
    8068           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
    8069           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
    8070           4 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
    8071           4 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
    8072           4 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
    8073           4 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
    8074           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8075             :         }
    8076           8 :         if (ndr_flags & NDR_BUFFERS) {
    8077           4 :                 if (r->netbios_name) {
    8078           4 :                         _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8079           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
    8080           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
    8081           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
    8082           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->netbios_name, &size_netbios_name_1));
    8083           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->netbios_name, &length_netbios_name_1));
    8084           4 :                         if (length_netbios_name_1 > size_netbios_name_1) {
    8085           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
    8086             :                         }
    8087           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
    8088           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
    8089           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
    8090             :                 }
    8091           4 :                 if (r->dns_name) {
    8092           4 :                         _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8093           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
    8094           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
    8095           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
    8096           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_name, &size_dns_name_1));
    8097           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_name, &length_dns_name_1));
    8098           4 :                         if (length_dns_name_1 > size_dns_name_1) {
    8099           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
    8100             :                         }
    8101           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
    8102           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
    8103           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
    8104             :                 }
    8105           4 :                 if (r->site_name) {
    8106           4 :                         _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8107           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
    8108           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
    8109           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
    8110           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_name, &size_site_name_1));
    8111           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_name, &length_site_name_1));
    8112           4 :                         if (length_site_name_1 > size_site_name_1) {
    8113           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
    8114             :                         }
    8115           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
    8116           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
    8117           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
    8118             :                 }
    8119           4 :                 if (r->site_dn) {
    8120           4 :                         _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8121           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
    8122           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
    8123           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
    8124           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_dn, &size_site_dn_1));
    8125           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_dn, &length_site_dn_1));
    8126           4 :                         if (length_site_dn_1 > size_site_dn_1) {
    8127           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_dn_1, length_site_dn_1);
    8128             :                         }
    8129           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_dn_1, sizeof(uint16_t)));
    8130           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, length_site_dn_1, sizeof(uint16_t), CH_UTF16));
    8131           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
    8132             :                 }
    8133           4 :                 if (r->computer_dn) {
    8134           4 :                         _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8135           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
    8136           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
    8137           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
    8138           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->computer_dn, &size_computer_dn_1));
    8139           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->computer_dn, &length_computer_dn_1));
    8140           4 :                         if (length_computer_dn_1 > size_computer_dn_1) {
    8141           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
    8142             :                         }
    8143           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
    8144           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
    8145           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
    8146             :                 }
    8147           4 :                 if (r->server_dn) {
    8148           4 :                         _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8149           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
    8150           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
    8151           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
    8152           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->server_dn, &size_server_dn_1));
    8153           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->server_dn, &length_server_dn_1));
    8154           4 :                         if (length_server_dn_1 > size_server_dn_1) {
    8155           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
    8156             :                         }
    8157           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
    8158           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
    8159           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
    8160             :                 }
    8161           4 :                 if (r->ntds_dn) {
    8162           2 :                         _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8163           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
    8164           2 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
    8165           2 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
    8166           2 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->ntds_dn, &size_ntds_dn_1));
    8167           2 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->ntds_dn, &length_ntds_dn_1));
    8168           2 :                         if (length_ntds_dn_1 > size_ntds_dn_1) {
    8169           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ntds_dn_1, length_ntds_dn_1);
    8170             :                         }
    8171           2 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_ntds_dn_1, sizeof(uint16_t)));
    8172           2 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, length_ntds_dn_1, sizeof(uint16_t), CH_UTF16));
    8173           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
    8174             :                 }
    8175             :         }
    8176           8 :         return NDR_ERR_SUCCESS;
    8177             : }
    8178             : 
    8179           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
    8180             : {
    8181           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
    8182           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8183           0 :         ndr->depth++;
    8184           0 :         ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
    8185           0 :         ndr->depth++;
    8186           0 :         if (r->netbios_name) {
    8187           0 :                 ndr_print_string(ndr, "netbios_name", r->netbios_name);
    8188             :         }
    8189           0 :         ndr->depth--;
    8190           0 :         ndr_print_ptr(ndr, "dns_name", r->dns_name);
    8191           0 :         ndr->depth++;
    8192           0 :         if (r->dns_name) {
    8193           0 :                 ndr_print_string(ndr, "dns_name", r->dns_name);
    8194             :         }
    8195           0 :         ndr->depth--;
    8196           0 :         ndr_print_ptr(ndr, "site_name", r->site_name);
    8197           0 :         ndr->depth++;
    8198           0 :         if (r->site_name) {
    8199           0 :                 ndr_print_string(ndr, "site_name", r->site_name);
    8200             :         }
    8201           0 :         ndr->depth--;
    8202           0 :         ndr_print_ptr(ndr, "site_dn", r->site_dn);
    8203           0 :         ndr->depth++;
    8204           0 :         if (r->site_dn) {
    8205           0 :                 ndr_print_string(ndr, "site_dn", r->site_dn);
    8206             :         }
    8207           0 :         ndr->depth--;
    8208           0 :         ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
    8209           0 :         ndr->depth++;
    8210           0 :         if (r->computer_dn) {
    8211           0 :                 ndr_print_string(ndr, "computer_dn", r->computer_dn);
    8212             :         }
    8213           0 :         ndr->depth--;
    8214           0 :         ndr_print_ptr(ndr, "server_dn", r->server_dn);
    8215           0 :         ndr->depth++;
    8216           0 :         if (r->server_dn) {
    8217           0 :                 ndr_print_string(ndr, "server_dn", r->server_dn);
    8218             :         }
    8219           0 :         ndr->depth--;
    8220           0 :         ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
    8221           0 :         ndr->depth++;
    8222           0 :         if (r->ntds_dn) {
    8223           0 :                 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
    8224             :         }
    8225           0 :         ndr->depth--;
    8226           0 :         ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
    8227           0 :         ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
    8228           0 :         ndr_print_uint32(ndr, "is_gc", r->is_gc);
    8229           0 :         ndr_print_GUID(ndr, "site_guid", &r->site_guid);
    8230           0 :         ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
    8231           0 :         ndr_print_GUID(ndr, "server_guid", &r->server_guid);
    8232           0 :         ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
    8233           0 :         ndr->depth--;
    8234             : }
    8235             : 
    8236           4 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
    8237             : {
    8238             :         uint32_t cntr_array_1;
    8239           4 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8240           4 :         if (ndr_flags & NDR_SCALARS) {
    8241           2 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8242           2 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    8243           2 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
    8244           2 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8245             :         }
    8246           4 :         if (ndr_flags & NDR_BUFFERS) {
    8247           2 :                 if (r->array) {
    8248           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    8249           6 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8250           4 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    8251             :                         }
    8252           6 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8253           4 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    8254             :                         }
    8255             :                 }
    8256             :         }
    8257           4 :         return NDR_ERR_SUCCESS;
    8258             : }
    8259             : 
    8260           4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
    8261             : {
    8262             :         uint32_t _ptr_array;
    8263           4 :         uint32_t size_array_1 = 0;
    8264             :         uint32_t cntr_array_1;
    8265           4 :         TALLOC_CTX *_mem_save_array_0 = NULL;
    8266           4 :         TALLOC_CTX *_mem_save_array_1 = NULL;
    8267           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8268           4 :         if (ndr_flags & NDR_SCALARS) {
    8269           2 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8270           2 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    8271           2 :                 if (r->count > 10000) {
    8272           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    8273             :                 }
    8274           2 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
    8275           2 :                 if (_ptr_array) {
    8276           2 :                         NDR_PULL_ALLOC(ndr, r->array);
    8277             :                 } else {
    8278           0 :                         r->array = NULL;
    8279             :                 }
    8280           2 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8281             :         }
    8282           4 :         if (ndr_flags & NDR_BUFFERS) {
    8283           2 :                 if (r->array) {
    8284           2 :                         _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8285           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    8286           2 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
    8287           2 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
    8288           2 :                         NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
    8289           2 :                         _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
    8290           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    8291           6 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8292           4 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    8293             :                         }
    8294           6 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8295           4 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    8296             :                         }
    8297           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
    8298           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
    8299             :                 }
    8300           2 :                 if (r->array) {
    8301           2 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
    8302             :                 }
    8303           2 :                 for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8304             :                 }
    8305             :         }
    8306           4 :         return NDR_ERR_SUCCESS;
    8307             : }
    8308             : 
    8309           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
    8310             : {
    8311             :         uint32_t cntr_array_1;
    8312           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
    8313           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8314           0 :         ndr->depth++;
    8315           0 :         ndr_print_uint32(ndr, "count", r->count);
    8316           0 :         ndr_print_ptr(ndr, "array", r->array);
    8317           0 :         ndr->depth++;
    8318           0 :         if (r->array) {
    8319           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
    8320           0 :                 ndr->depth++;
    8321           0 :                 for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8322           0 :                         ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
    8323             :                 }
    8324           0 :                 ndr->depth--;
    8325             :         }
    8326           0 :         ndr->depth--;
    8327           0 :         ndr->depth--;
    8328             : }
    8329             : 
    8330           4 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
    8331             : {
    8332           4 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8333           4 :         if (ndr_flags & NDR_SCALARS) {
    8334           2 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8335           2 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
    8336           2 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
    8337           2 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
    8338           2 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
    8339           2 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
    8340           2 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
    8341           2 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
    8342           2 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
    8343           2 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
    8344           2 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
    8345           2 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
    8346           2 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
    8347           2 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
    8348           2 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
    8349           2 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
    8350           2 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8351             :         }
    8352           4 :         if (ndr_flags & NDR_BUFFERS) {
    8353           2 :                 if (r->netbios_name) {
    8354           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
    8355           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8356           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
    8357           2 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8358             :                 }
    8359           2 :                 if (r->dns_name) {
    8360           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
    8361           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8362           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
    8363           2 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8364             :                 }
    8365           2 :                 if (r->site_name) {
    8366           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
    8367           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8368           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
    8369           2 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8370             :                 }
    8371           2 :                 if (r->site_dn) {
    8372           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
    8373           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8374           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
    8375           2 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8376             :                 }
    8377           2 :                 if (r->computer_dn) {
    8378           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
    8379           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8380           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
    8381           2 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8382             :                 }
    8383           2 :                 if (r->server_dn) {
    8384           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
    8385           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8386           2 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
    8387           2 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8388             :                 }
    8389           2 :                 if (r->ntds_dn) {
    8390           1 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
    8391           1 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8392           1 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
    8393           1 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8394             :                 }
    8395             :         }
    8396           4 :         return NDR_ERR_SUCCESS;
    8397             : }
    8398             : 
    8399           4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
    8400             : {
    8401             :         uint32_t _ptr_netbios_name;
    8402           4 :         uint32_t size_netbios_name_1 = 0;
    8403           4 :         uint32_t length_netbios_name_1 = 0;
    8404           4 :         TALLOC_CTX *_mem_save_netbios_name_0 = NULL;
    8405             :         uint32_t _ptr_dns_name;
    8406           4 :         uint32_t size_dns_name_1 = 0;
    8407           4 :         uint32_t length_dns_name_1 = 0;
    8408           4 :         TALLOC_CTX *_mem_save_dns_name_0 = NULL;
    8409             :         uint32_t _ptr_site_name;
    8410           4 :         uint32_t size_site_name_1 = 0;
    8411           4 :         uint32_t length_site_name_1 = 0;
    8412           4 :         TALLOC_CTX *_mem_save_site_name_0 = NULL;
    8413             :         uint32_t _ptr_site_dn;
    8414           4 :         uint32_t size_site_dn_1 = 0;
    8415           4 :         uint32_t length_site_dn_1 = 0;
    8416           4 :         TALLOC_CTX *_mem_save_site_dn_0 = NULL;
    8417             :         uint32_t _ptr_computer_dn;
    8418           4 :         uint32_t size_computer_dn_1 = 0;
    8419           4 :         uint32_t length_computer_dn_1 = 0;
    8420           4 :         TALLOC_CTX *_mem_save_computer_dn_0 = NULL;
    8421             :         uint32_t _ptr_server_dn;
    8422           4 :         uint32_t size_server_dn_1 = 0;
    8423           4 :         uint32_t length_server_dn_1 = 0;
    8424           4 :         TALLOC_CTX *_mem_save_server_dn_0 = NULL;
    8425             :         uint32_t _ptr_ntds_dn;
    8426           4 :         uint32_t size_ntds_dn_1 = 0;
    8427           4 :         uint32_t length_ntds_dn_1 = 0;
    8428           4 :         TALLOC_CTX *_mem_save_ntds_dn_0 = NULL;
    8429           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8430           4 :         if (ndr_flags & NDR_SCALARS) {
    8431           2 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8432           2 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
    8433           2 :                 if (_ptr_netbios_name) {
    8434           2 :                         NDR_PULL_ALLOC(ndr, r->netbios_name);
    8435             :                 } else {
    8436           0 :                         r->netbios_name = NULL;
    8437             :                 }
    8438           2 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
    8439           2 :                 if (_ptr_dns_name) {
    8440           2 :                         NDR_PULL_ALLOC(ndr, r->dns_name);
    8441             :                 } else {
    8442           0 :                         r->dns_name = NULL;
    8443             :                 }
    8444           2 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
    8445           2 :                 if (_ptr_site_name) {
    8446           2 :                         NDR_PULL_ALLOC(ndr, r->site_name);
    8447             :                 } else {
    8448           0 :                         r->site_name = NULL;
    8449             :                 }
    8450           2 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
    8451           2 :                 if (_ptr_site_dn) {
    8452           2 :                         NDR_PULL_ALLOC(ndr, r->site_dn);
    8453             :                 } else {
    8454           0 :                         r->site_dn = NULL;
    8455             :                 }
    8456           2 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
    8457           2 :                 if (_ptr_computer_dn) {
    8458           2 :                         NDR_PULL_ALLOC(ndr, r->computer_dn);
    8459             :                 } else {
    8460           0 :                         r->computer_dn = NULL;
    8461             :                 }
    8462           2 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
    8463           2 :                 if (_ptr_server_dn) {
    8464           2 :                         NDR_PULL_ALLOC(ndr, r->server_dn);
    8465             :                 } else {
    8466           0 :                         r->server_dn = NULL;
    8467             :                 }
    8468           2 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
    8469           2 :                 if (_ptr_ntds_dn) {
    8470           1 :                         NDR_PULL_ALLOC(ndr, r->ntds_dn);
    8471             :                 } else {
    8472           1 :                         r->ntds_dn = NULL;
    8473             :                 }
    8474           2 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
    8475           2 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
    8476           2 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
    8477           2 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
    8478           2 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
    8479           2 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
    8480           2 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
    8481           2 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
    8482           2 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8483             :         }
    8484           4 :         if (ndr_flags & NDR_BUFFERS) {
    8485           2 :                 if (r->netbios_name) {
    8486           2 :                         _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8487           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
    8488           2 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
    8489           2 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
    8490           2 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->netbios_name, &size_netbios_name_1));
    8491           2 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->netbios_name, &length_netbios_name_1));
    8492           2 :                         if (length_netbios_name_1 > size_netbios_name_1) {
    8493           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
    8494             :                         }
    8495           2 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
    8496           2 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
    8497           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
    8498             :                 }
    8499           2 :                 if (r->dns_name) {
    8500           2 :                         _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8501           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
    8502           2 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
    8503           2 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
    8504           2 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_name, &size_dns_name_1));
    8505           2 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_name, &length_dns_name_1));
    8506           2 :                         if (length_dns_name_1 > size_dns_name_1) {
    8507           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
    8508             :                         }
    8509           2 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
    8510           2 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
    8511           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
    8512             :                 }
    8513           2 :                 if (r->site_name) {
    8514           2 :                         _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8515           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
    8516           2 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
    8517           2 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
    8518           2 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_name, &size_site_name_1));
    8519           2 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_name, &length_site_name_1));
    8520           2 :                         if (length_site_name_1 > size_site_name_1) {
    8521           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
    8522             :                         }
    8523           2 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
    8524           2 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
    8525           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
    8526             :                 }
    8527           2 :                 if (r->site_dn) {
    8528           2 :                         _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8529           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
    8530           2 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
    8531           2 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
    8532           2 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_dn, &size_site_dn_1));
    8533           2 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_dn, &length_site_dn_1));
    8534           2 :                         if (length_site_dn_1 > size_site_dn_1) {
    8535           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_dn_1, length_site_dn_1);
    8536             :                         }
    8537           2 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_dn_1, sizeof(uint16_t)));
    8538           2 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, length_site_dn_1, sizeof(uint16_t), CH_UTF16));
    8539           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
    8540             :                 }
    8541           2 :                 if (r->computer_dn) {
    8542           2 :                         _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8543           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
    8544           2 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
    8545           2 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
    8546           2 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->computer_dn, &size_computer_dn_1));
    8547           2 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->computer_dn, &length_computer_dn_1));
    8548           2 :                         if (length_computer_dn_1 > size_computer_dn_1) {
    8549           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
    8550             :                         }
    8551           2 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
    8552           2 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
    8553           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
    8554             :                 }
    8555           2 :                 if (r->server_dn) {
    8556           2 :                         _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8557           2 :                         NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
    8558           2 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
    8559           2 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
    8560           2 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->server_dn, &size_server_dn_1));
    8561           2 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->server_dn, &length_server_dn_1));
    8562           2 :                         if (length_server_dn_1 > size_server_dn_1) {
    8563           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
    8564             :                         }
    8565           2 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
    8566           2 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
    8567           2 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
    8568             :                 }
    8569           2 :                 if (r->ntds_dn) {
    8570           1 :                         _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8571           1 :                         NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
    8572           1 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
    8573           1 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
    8574           1 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->ntds_dn, &size_ntds_dn_1));
    8575           1 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->ntds_dn, &length_ntds_dn_1));
    8576           1 :                         if (length_ntds_dn_1 > size_ntds_dn_1) {
    8577           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ntds_dn_1, length_ntds_dn_1);
    8578             :                         }
    8579           1 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_ntds_dn_1, sizeof(uint16_t)));
    8580           1 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, length_ntds_dn_1, sizeof(uint16_t), CH_UTF16));
    8581           1 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
    8582             :                 }
    8583             :         }
    8584           4 :         return NDR_ERR_SUCCESS;
    8585             : }
    8586             : 
    8587           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
    8588             : {
    8589           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
    8590           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8591           0 :         ndr->depth++;
    8592           0 :         ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
    8593           0 :         ndr->depth++;
    8594           0 :         if (r->netbios_name) {
    8595           0 :                 ndr_print_string(ndr, "netbios_name", r->netbios_name);
    8596             :         }
    8597           0 :         ndr->depth--;
    8598           0 :         ndr_print_ptr(ndr, "dns_name", r->dns_name);
    8599           0 :         ndr->depth++;
    8600           0 :         if (r->dns_name) {
    8601           0 :                 ndr_print_string(ndr, "dns_name", r->dns_name);
    8602             :         }
    8603           0 :         ndr->depth--;
    8604           0 :         ndr_print_ptr(ndr, "site_name", r->site_name);
    8605           0 :         ndr->depth++;
    8606           0 :         if (r->site_name) {
    8607           0 :                 ndr_print_string(ndr, "site_name", r->site_name);
    8608             :         }
    8609           0 :         ndr->depth--;
    8610           0 :         ndr_print_ptr(ndr, "site_dn", r->site_dn);
    8611           0 :         ndr->depth++;
    8612           0 :         if (r->site_dn) {
    8613           0 :                 ndr_print_string(ndr, "site_dn", r->site_dn);
    8614             :         }
    8615           0 :         ndr->depth--;
    8616           0 :         ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
    8617           0 :         ndr->depth++;
    8618           0 :         if (r->computer_dn) {
    8619           0 :                 ndr_print_string(ndr, "computer_dn", r->computer_dn);
    8620             :         }
    8621           0 :         ndr->depth--;
    8622           0 :         ndr_print_ptr(ndr, "server_dn", r->server_dn);
    8623           0 :         ndr->depth++;
    8624           0 :         if (r->server_dn) {
    8625           0 :                 ndr_print_string(ndr, "server_dn", r->server_dn);
    8626             :         }
    8627           0 :         ndr->depth--;
    8628           0 :         ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
    8629           0 :         ndr->depth++;
    8630           0 :         if (r->ntds_dn) {
    8631           0 :                 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
    8632             :         }
    8633           0 :         ndr->depth--;
    8634           0 :         ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
    8635           0 :         ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
    8636           0 :         ndr_print_uint32(ndr, "is_gc", r->is_gc);
    8637           0 :         ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
    8638           0 :         ndr_print_GUID(ndr, "site_guid", &r->site_guid);
    8639           0 :         ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
    8640           0 :         ndr_print_GUID(ndr, "server_guid", &r->server_guid);
    8641           0 :         ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
    8642           0 :         ndr->depth--;
    8643             : }
    8644             : 
    8645           2 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
    8646             : {
    8647             :         uint32_t cntr_array_1;
    8648           2 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8649           2 :         if (ndr_flags & NDR_SCALARS) {
    8650           1 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8651           1 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    8652           1 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
    8653           1 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8654             :         }
    8655           2 :         if (ndr_flags & NDR_BUFFERS) {
    8656           1 :                 if (r->array) {
    8657           1 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    8658           3 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8659           2 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    8660             :                         }
    8661           3 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8662           2 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    8663             :                         }
    8664             :                 }
    8665             :         }
    8666           2 :         return NDR_ERR_SUCCESS;
    8667             : }
    8668             : 
    8669           2 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
    8670             : {
    8671             :         uint32_t _ptr_array;
    8672           2 :         uint32_t size_array_1 = 0;
    8673             :         uint32_t cntr_array_1;
    8674           2 :         TALLOC_CTX *_mem_save_array_0 = NULL;
    8675           2 :         TALLOC_CTX *_mem_save_array_1 = NULL;
    8676           2 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8677           2 :         if (ndr_flags & NDR_SCALARS) {
    8678           1 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8679           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    8680           1 :                 if (r->count > 10000) {
    8681           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    8682             :                 }
    8683           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
    8684           1 :                 if (_ptr_array) {
    8685           1 :                         NDR_PULL_ALLOC(ndr, r->array);
    8686             :                 } else {
    8687           0 :                         r->array = NULL;
    8688             :                 }
    8689           1 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8690             :         }
    8691           2 :         if (ndr_flags & NDR_BUFFERS) {
    8692           1 :                 if (r->array) {
    8693           1 :                         _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8694           1 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    8695           1 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
    8696           1 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
    8697           1 :                         NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
    8698           1 :                         _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
    8699           1 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    8700           3 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8701           2 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    8702             :                         }
    8703           3 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8704           2 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    8705             :                         }
    8706           1 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
    8707           1 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
    8708             :                 }
    8709           1 :                 if (r->array) {
    8710           1 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
    8711             :                 }
    8712           1 :                 for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8713             :                 }
    8714             :         }
    8715           2 :         return NDR_ERR_SUCCESS;
    8716             : }
    8717             : 
    8718           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
    8719             : {
    8720             :         uint32_t cntr_array_1;
    8721           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
    8722           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8723           0 :         ndr->depth++;
    8724           0 :         ndr_print_uint32(ndr, "count", r->count);
    8725           0 :         ndr_print_ptr(ndr, "array", r->array);
    8726           0 :         ndr->depth++;
    8727           0 :         if (r->array) {
    8728           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
    8729           0 :                 ndr->depth++;
    8730           0 :                 for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8731           0 :                         ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
    8732             :                 }
    8733           0 :                 ndr->depth--;
    8734             :         }
    8735           0 :         ndr->depth--;
    8736           0 :         ndr->depth--;
    8737             : }
    8738             : 
    8739           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
    8740             : {
    8741           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8742           0 :         if (ndr_flags & NDR_SCALARS) {
    8743           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8744             :                 {
    8745           0 :                         uint32_t _flags_save_ipv4address = ndr->flags;
    8746           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
    8747           0 :                         NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
    8748           0 :                         ndr->flags = _flags_save_ipv4address;
    8749             :                 }
    8750           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
    8751           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
    8752           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
    8753           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    8754           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    8755           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
    8756           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8757             :         }
    8758           0 :         if (ndr_flags & NDR_BUFFERS) {
    8759           0 :                 if (r->client_account) {
    8760           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
    8761           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8762           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
    8763           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8764             :                 }
    8765             :         }
    8766           0 :         return NDR_ERR_SUCCESS;
    8767             : }
    8768             : 
    8769           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
    8770             : {
    8771             :         uint32_t _ptr_client_account;
    8772           0 :         uint32_t size_client_account_1 = 0;
    8773           0 :         uint32_t length_client_account_1 = 0;
    8774           0 :         TALLOC_CTX *_mem_save_client_account_0 = NULL;
    8775           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8776           0 :         if (ndr_flags & NDR_SCALARS) {
    8777           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8778             :                 {
    8779           0 :                         uint32_t _flags_save_ipv4address = ndr->flags;
    8780           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
    8781           0 :                         NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
    8782           0 :                         ndr->flags = _flags_save_ipv4address;
    8783             :                 }
    8784           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
    8785           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
    8786           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
    8787           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    8788           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    8789           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
    8790           0 :                 if (_ptr_client_account) {
    8791           0 :                         NDR_PULL_ALLOC(ndr, r->client_account);
    8792             :                 } else {
    8793           0 :                         r->client_account = NULL;
    8794             :                 }
    8795           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8796             :         }
    8797           0 :         if (ndr_flags & NDR_BUFFERS) {
    8798           0 :                 if (r->client_account) {
    8799           0 :                         _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8800           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
    8801           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
    8802           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
    8803           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->client_account, &size_client_account_1));
    8804           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->client_account, &length_client_account_1));
    8805           0 :                         if (length_client_account_1 > size_client_account_1) {
    8806           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_account_1, length_client_account_1);
    8807             :                         }
    8808           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_client_account_1, sizeof(uint16_t)));
    8809           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, length_client_account_1, sizeof(uint16_t), CH_UTF16));
    8810           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
    8811             :                 }
    8812             :         }
    8813           0 :         return NDR_ERR_SUCCESS;
    8814             : }
    8815             : 
    8816           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
    8817             : {
    8818           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
    8819           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8820           0 :         ndr->depth++;
    8821             :         {
    8822           0 :                 uint32_t _flags_save_ipv4address = ndr->flags;
    8823           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
    8824           0 :                 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
    8825           0 :                 ndr->flags = _flags_save_ipv4address;
    8826             :         }
    8827           0 :         ndr_print_uint32(ndr, "unknown2", r->unknown2);
    8828           0 :         ndr_print_uint32(ndr, "connection_time", r->connection_time);
    8829           0 :         ndr_print_uint32(ndr, "unknown4", r->unknown4);
    8830           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    8831           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    8832           0 :         ndr_print_ptr(ndr, "client_account", r->client_account);
    8833           0 :         ndr->depth++;
    8834           0 :         if (r->client_account) {
    8835           0 :                 ndr_print_string(ndr, "client_account", r->client_account);
    8836             :         }
    8837           0 :         ndr->depth--;
    8838           0 :         ndr->depth--;
    8839             : }
    8840             : 
    8841           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
    8842             : {
    8843             :         uint32_t cntr_array_1;
    8844           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8845           0 :         if (ndr_flags & NDR_SCALARS) {
    8846           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8847           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    8848           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
    8849           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8850             :         }
    8851           0 :         if (ndr_flags & NDR_BUFFERS) {
    8852           0 :                 if (r->array) {
    8853           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    8854           0 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8855           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    8856             :                         }
    8857           0 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8858           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    8859             :                         }
    8860             :                 }
    8861             :         }
    8862           0 :         return NDR_ERR_SUCCESS;
    8863             : }
    8864             : 
    8865           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
    8866             : {
    8867             :         uint32_t _ptr_array;
    8868           0 :         uint32_t size_array_1 = 0;
    8869             :         uint32_t cntr_array_1;
    8870           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
    8871           0 :         TALLOC_CTX *_mem_save_array_1 = NULL;
    8872           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8873           0 :         if (ndr_flags & NDR_SCALARS) {
    8874           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8875           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    8876           0 :                 if (r->count > 10000) {
    8877           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    8878             :                 }
    8879           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
    8880           0 :                 if (_ptr_array) {
    8881           0 :                         NDR_PULL_ALLOC(ndr, r->array);
    8882             :                 } else {
    8883           0 :                         r->array = NULL;
    8884             :                 }
    8885           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8886             :         }
    8887           0 :         if (ndr_flags & NDR_BUFFERS) {
    8888           0 :                 if (r->array) {
    8889           0 :                         _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8890           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    8891           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
    8892           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
    8893           0 :                         NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
    8894           0 :                         _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
    8895           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    8896           0 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8897           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    8898             :                         }
    8899           0 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8900           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    8901             :                         }
    8902           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
    8903           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
    8904             :                 }
    8905           0 :                 if (r->array) {
    8906           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
    8907             :                 }
    8908           0 :                 for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    8909             :                 }
    8910             :         }
    8911           0 :         return NDR_ERR_SUCCESS;
    8912             : }
    8913             : 
    8914           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
    8915             : {
    8916             :         uint32_t cntr_array_1;
    8917           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
    8918           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8919           0 :         ndr->depth++;
    8920           0 :         ndr_print_uint32(ndr, "count", r->count);
    8921           0 :         ndr_print_ptr(ndr, "array", r->array);
    8922           0 :         ndr->depth++;
    8923           0 :         if (r->array) {
    8924           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
    8925           0 :                 ndr->depth++;
    8926           0 :                 for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    8927           0 :                         ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
    8928             :                 }
    8929           0 :                 ndr->depth--;
    8930             :         }
    8931           0 :         ndr->depth--;
    8932           0 :         ndr->depth--;
    8933             : }
    8934             : 
    8935           6 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
    8936             : {
    8937             :         uint32_t level;
    8938           6 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8939           6 :         if (ndr_flags & NDR_SCALARS) {
    8940             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    8941           6 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    8942           6 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    8943           6 :                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, level));
    8944           6 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    8945           6 :                 switch (level) {
    8946           3 :                         case DRSUAPI_DC_INFO_CTR_1: {
    8947           3 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
    8948           3 :                         break; }
    8949             : 
    8950           2 :                         case DRSUAPI_DC_INFO_CTR_2: {
    8951           2 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
    8952           2 :                         break; }
    8953             : 
    8954           1 :                         case DRSUAPI_DC_INFO_CTR_3: {
    8955           1 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
    8956           1 :                         break; }
    8957             : 
    8958           0 :                         case DRSUAPI_DC_CONNECTION_CTR_01: {
    8959           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
    8960           0 :                         break; }
    8961             : 
    8962           0 :                         default:
    8963           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    8964             :                 }
    8965           0 :         }
    8966           6 :         if (ndr_flags & NDR_BUFFERS) {
    8967           6 :                 if (!(ndr_flags & NDR_SCALARS)) {
    8968             :                         /* We didn't get it above, and the token is not needed after this. */
    8969           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    8970             :                 }
    8971           6 :                 switch (level) {
    8972           3 :                         case DRSUAPI_DC_INFO_CTR_1:
    8973           3 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
    8974           3 :                         break;
    8975             : 
    8976           2 :                         case DRSUAPI_DC_INFO_CTR_2:
    8977           2 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
    8978           2 :                         break;
    8979             : 
    8980           1 :                         case DRSUAPI_DC_INFO_CTR_3:
    8981           1 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
    8982           1 :                         break;
    8983             : 
    8984           0 :                         case DRSUAPI_DC_CONNECTION_CTR_01:
    8985           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
    8986           0 :                         break;
    8987             : 
    8988           0 :                         default:
    8989           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    8990             :                 }
    8991           0 :         }
    8992           6 :         return NDR_ERR_SUCCESS;
    8993             : }
    8994             : 
    8995           6 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
    8996             : {
    8997             :         uint32_t level;
    8998             :         uint32_t _level;
    8999           6 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9000           6 :         if (ndr_flags & NDR_SCALARS) {
    9001             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    9002           6 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    9003           6 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    9004           6 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    9005           6 :                 if (_level != level) {
    9006           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    9007             :                 }
    9008           6 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    9009           6 :                 switch (level) {
    9010           3 :                         case DRSUAPI_DC_INFO_CTR_1: {
    9011           3 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
    9012           3 :                         break; }
    9013             : 
    9014           2 :                         case DRSUAPI_DC_INFO_CTR_2: {
    9015           2 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
    9016           2 :                         break; }
    9017             : 
    9018           1 :                         case DRSUAPI_DC_INFO_CTR_3: {
    9019           1 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
    9020           1 :                         break; }
    9021             : 
    9022           0 :                         case DRSUAPI_DC_CONNECTION_CTR_01: {
    9023           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
    9024           0 :                         break; }
    9025             : 
    9026           0 :                         default:
    9027           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    9028             :                 }
    9029           0 :         }
    9030           6 :         if (ndr_flags & NDR_BUFFERS) {
    9031           6 :                 if (!(ndr_flags & NDR_SCALARS)) {
    9032             :                         /* We didn't get it above, and the token is not needed after this. */
    9033           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    9034             :                 }
    9035           6 :                 switch (level) {
    9036           3 :                         case DRSUAPI_DC_INFO_CTR_1:
    9037           3 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
    9038           3 :                         break;
    9039             : 
    9040           2 :                         case DRSUAPI_DC_INFO_CTR_2:
    9041           2 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
    9042           2 :                         break;
    9043             : 
    9044           1 :                         case DRSUAPI_DC_INFO_CTR_3:
    9045           1 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
    9046           1 :                         break;
    9047             : 
    9048           0 :                         case DRSUAPI_DC_CONNECTION_CTR_01:
    9049           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
    9050           0 :                         break;
    9051             : 
    9052           0 :                         default:
    9053           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    9054             :                 }
    9055           0 :         }
    9056           6 :         return NDR_ERR_SUCCESS;
    9057             : }
    9058             : 
    9059           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
    9060             : {
    9061             :         uint32_t level;
    9062           0 :         level = ndr_print_steal_switch_value(ndr, r);
    9063           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
    9064           0 :         switch (level) {
    9065           0 :                 case DRSUAPI_DC_INFO_CTR_1:
    9066           0 :                         ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
    9067           0 :                 break;
    9068             : 
    9069           0 :                 case DRSUAPI_DC_INFO_CTR_2:
    9070           0 :                         ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
    9071           0 :                 break;
    9072             : 
    9073           0 :                 case DRSUAPI_DC_INFO_CTR_3:
    9074           0 :                         ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
    9075           0 :                 break;
    9076             : 
    9077           0 :                 case DRSUAPI_DC_CONNECTION_CTR_01:
    9078           0 :                         ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
    9079           0 :                 break;
    9080             : 
    9081           0 :                 default:
    9082           0 :                         ndr_print_bad_level(ndr, name, level);
    9083             :         }
    9084           0 : }
    9085             : 
    9086         128 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
    9087             : {
    9088         128 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9089         128 :         if (ndr_flags & NDR_SCALARS) {
    9090          64 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9091          64 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
    9092          64 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
    9093          64 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9094             :         }
    9095         128 :         if (ndr_flags & NDR_BUFFERS) {
    9096          64 :                 if (r->next_object) {
    9097           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
    9098             :                 }
    9099          64 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
    9100             :         }
    9101         126 :         return NDR_ERR_SUCCESS;
    9102             : }
    9103             : 
    9104         134 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
    9105             : {
    9106             :         uint32_t _ptr_next_object;
    9107         134 :         TALLOC_CTX *_mem_save_next_object_0 = NULL;
    9108         134 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9109         134 :         if (ndr_flags & NDR_SCALARS) {
    9110          67 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9111          67 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
    9112          67 :                 if (_ptr_next_object) {
    9113           0 :                         NDR_PULL_ALLOC(ndr, r->next_object);
    9114             :                 } else {
    9115          67 :                         r->next_object = NULL;
    9116             :                 }
    9117          67 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
    9118          67 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9119             :         }
    9120         134 :         if (ndr_flags & NDR_BUFFERS) {
    9121          67 :                 if (r->next_object) {
    9122           0 :                         _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9123           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
    9124           0 :                         NDR_RECURSION_CHECK(ndr, 20000);
    9125           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
    9126           0 :                         NDR_RECURSION_UNWIND(ndr);
    9127           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
    9128             :                 }
    9129          67 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
    9130             :         }
    9131         126 :         return NDR_ERR_SUCCESS;
    9132             : }
    9133             : 
    9134           0 : static void ndr_print_flags_drsuapi_DsReplicaObjectListItem(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectListItem *r)
    9135             : {
    9136           0 :         ndr_print_drsuapi_DsReplicaObjectListItem(ndr, name, r);
    9137           0 : }
    9138             : 
    9139          63 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_DirErr(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr r)
    9140             : {
    9141          63 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    9142          63 :         return NDR_ERR_SUCCESS;
    9143             : }
    9144             : 
    9145          63 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_DirErr(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr *r)
    9146             : {
    9147             :         uint32_t v;
    9148          66 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    9149          66 :         *r = v;
    9150          63 :         return NDR_ERR_SUCCESS;
    9151             : }
    9152             : 
    9153           2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_DirErr(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_DirErr r)
    9154             : {
    9155           2 :         const char *val = NULL;
    9156             : 
    9157           2 :         switch (r) {
    9158           2 :                 case DRSUAPI_DIRERR_OK: val = "DRSUAPI_DIRERR_OK"; break;
    9159           0 :                 case DRSUAPI_DIRERR_ATTRIBUTE: val = "DRSUAPI_DIRERR_ATTRIBUTE"; break;
    9160           0 :                 case DRSUAPI_DIRERR_NAME: val = "DRSUAPI_DIRERR_NAME"; break;
    9161           0 :                 case DRSUAPI_DIRERR_REFERRAL: val = "DRSUAPI_DIRERR_REFERRAL"; break;
    9162           0 :                 case DRSUAPI_DIRERR_SECURITY: val = "DRSUAPI_DIRERR_SECURITY"; break;
    9163           0 :                 case DRSUAPI_DIRERR_SERVICE: val = "DRSUAPI_DIRERR_SERVICE"; break;
    9164           0 :                 case DRSUAPI_DIRERR_UPDATE: val = "DRSUAPI_DIRERR_UPDATE"; break;
    9165           0 :                 case DRSUAPI_DIRERR_SYSTEM: val = "DRSUAPI_DIRERR_SYSTEM"; break;
    9166             :         }
    9167           2 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    9168           2 : }
    9169             : 
    9170         128 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
    9171             : {
    9172         128 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9173         128 :         if (ndr_flags & NDR_SCALARS) {
    9174          64 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9175          64 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
    9176          64 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9177             :         }
    9178         128 :         if (ndr_flags & NDR_BUFFERS) {
    9179          64 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
    9180             :         }
    9181         126 :         return NDR_ERR_SUCCESS;
    9182             : }
    9183             : 
    9184         134 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
    9185             : {
    9186         134 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9187         134 :         if (ndr_flags & NDR_SCALARS) {
    9188          67 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9189          67 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
    9190          67 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9191             :         }
    9192         134 :         if (ndr_flags & NDR_BUFFERS) {
    9193          67 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
    9194             :         }
    9195         126 :         return NDR_ERR_SUCCESS;
    9196             : }
    9197             : 
    9198           4 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
    9199             : {
    9200           4 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
    9201           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9202           4 :         ndr->depth++;
    9203           4 :         ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
    9204           4 :         ndr->depth--;
    9205             : }
    9206             : 
    9207           0 : static enum ndr_err_code ndr_push_drsuapi_SecBufferType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_SecBufferType r)
    9208             : {
    9209           0 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    9210           0 :         return NDR_ERR_SUCCESS;
    9211             : }
    9212             : 
    9213           0 : static enum ndr_err_code ndr_pull_drsuapi_SecBufferType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_SecBufferType *r)
    9214             : {
    9215             :         uint32_t v;
    9216           0 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    9217           0 :         *r = v;
    9218           0 :         return NDR_ERR_SUCCESS;
    9219             : }
    9220             : 
    9221           0 : static enum ndr_err_code ndr_push_drsuapi_SecBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBuffer *r)
    9222             : {
    9223           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9224           0 :         if (ndr_flags & NDR_SCALARS) {
    9225           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9226           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_size));
    9227           0 :                 NDR_CHECK(ndr_push_drsuapi_SecBufferType(ndr, NDR_SCALARS, r->buf_type));
    9228           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
    9229           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9230             :         }
    9231           0 :         if (ndr_flags & NDR_BUFFERS) {
    9232           0 :                 if (r->buffer) {
    9233           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_size));
    9234           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_size));
    9235             :                 }
    9236             :         }
    9237           0 :         return NDR_ERR_SUCCESS;
    9238             : }
    9239             : 
    9240           0 : static enum ndr_err_code ndr_pull_drsuapi_SecBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBuffer *r)
    9241             : {
    9242             :         uint32_t _ptr_buffer;
    9243           0 :         uint32_t size_buffer_1 = 0;
    9244           0 :         TALLOC_CTX *_mem_save_buffer_0 = NULL;
    9245           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9246           0 :         if (ndr_flags & NDR_SCALARS) {
    9247           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9248           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_size));
    9249           0 :                 if (r->buf_size > 10000) {
    9250           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    9251             :                 }
    9252           0 :                 NDR_CHECK(ndr_pull_drsuapi_SecBufferType(ndr, NDR_SCALARS, &r->buf_type));
    9253           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
    9254           0 :                 if (_ptr_buffer) {
    9255           0 :                         NDR_PULL_ALLOC(ndr, r->buffer);
    9256             :                 } else {
    9257           0 :                         r->buffer = NULL;
    9258             :                 }
    9259           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9260             :         }
    9261           0 :         if (ndr_flags & NDR_BUFFERS) {
    9262           0 :                 if (r->buffer) {
    9263           0 :                         _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9264           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
    9265           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
    9266           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->buffer, &size_buffer_1));
    9267           0 :                         NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
    9268           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
    9269           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
    9270             :                 }
    9271           0 :                 if (r->buffer) {
    9272           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->buffer, r->buf_size));
    9273             :                 }
    9274             :         }
    9275           0 :         return NDR_ERR_SUCCESS;
    9276             : }
    9277             : 
    9278           0 : _PUBLIC_ void ndr_print_drsuapi_SecBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBuffer *r)
    9279             : {
    9280           0 :         ndr_print_struct(ndr, name, "drsuapi_SecBuffer");
    9281           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9282           0 :         ndr->depth++;
    9283           0 :         ndr_print_uint32(ndr, "buf_size", r->buf_size);
    9284           0 :         ndr_print_drsuapi_SecBufferType(ndr, "buf_type", r->buf_type);
    9285           0 :         ndr_print_ptr(ndr, "buffer", r->buffer);
    9286           0 :         ndr->depth++;
    9287           0 :         if (r->buffer) {
    9288           0 :                 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_size);
    9289             :         }
    9290           0 :         ndr->depth--;
    9291           0 :         ndr->depth--;
    9292             : }
    9293             : 
    9294           0 : static enum ndr_err_code ndr_push_drsuapi_SecBufferDesc(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBufferDesc *r)
    9295             : {
    9296             :         uint32_t cntr_buffers_1;
    9297           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9298           0 :         if (ndr_flags & NDR_SCALARS) {
    9299           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9300           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    9301           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buff_count));
    9302           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffers));
    9303           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9304             :         }
    9305           0 :         if (ndr_flags & NDR_BUFFERS) {
    9306           0 :                 if (r->buffers) {
    9307           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buff_count));
    9308           0 :                         for (cntr_buffers_1 = 0; cntr_buffers_1 < (r->buff_count); cntr_buffers_1++) {
    9309           0 :                                 NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1]));
    9310             :                         }
    9311           0 :                         for (cntr_buffers_1 = 0; cntr_buffers_1 < (r->buff_count); cntr_buffers_1++) {
    9312           0 :                                 NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1]));
    9313             :                         }
    9314             :                 }
    9315             :         }
    9316           0 :         return NDR_ERR_SUCCESS;
    9317             : }
    9318             : 
    9319           0 : static enum ndr_err_code ndr_pull_drsuapi_SecBufferDesc(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBufferDesc *r)
    9320             : {
    9321             :         uint32_t _ptr_buffers;
    9322           0 :         uint32_t size_buffers_1 = 0;
    9323             :         uint32_t cntr_buffers_1;
    9324           0 :         TALLOC_CTX *_mem_save_buffers_0 = NULL;
    9325           0 :         TALLOC_CTX *_mem_save_buffers_1 = NULL;
    9326           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9327           0 :         if (ndr_flags & NDR_SCALARS) {
    9328           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9329           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
    9330           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buff_count));
    9331           0 :                 if (r->buff_count > 10000) {
    9332           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    9333             :                 }
    9334           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffers));
    9335           0 :                 if (_ptr_buffers) {
    9336           0 :                         NDR_PULL_ALLOC(ndr, r->buffers);
    9337             :                 } else {
    9338           0 :                         r->buffers = NULL;
    9339             :                 }
    9340           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9341             :         }
    9342           0 :         if (ndr_flags & NDR_BUFFERS) {
    9343           0 :                 if (r->buffers) {
    9344           0 :                         _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9345           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
    9346           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->buffers));
    9347           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->buffers, &size_buffers_1));
    9348           0 :                         NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_1);
    9349           0 :                         _mem_save_buffers_1 = NDR_PULL_GET_MEM_CTX(ndr);
    9350           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
    9351           0 :                         for (cntr_buffers_1 = 0; cntr_buffers_1 < (size_buffers_1); cntr_buffers_1++) {
    9352           0 :                                 NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1]));
    9353             :                         }
    9354           0 :                         for (cntr_buffers_1 = 0; cntr_buffers_1 < (size_buffers_1); cntr_buffers_1++) {
    9355           0 :                                 NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1]));
    9356             :                         }
    9357           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_1, 0);
    9358           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
    9359             :                 }
    9360           0 :                 if (r->buffers) {
    9361           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffers, r->buff_count));
    9362             :                 }
    9363           0 :                 for (cntr_buffers_1 = 0; cntr_buffers_1 < (size_buffers_1); cntr_buffers_1++) {
    9364             :                 }
    9365             :         }
    9366           0 :         return NDR_ERR_SUCCESS;
    9367             : }
    9368             : 
    9369           0 : _PUBLIC_ void ndr_print_drsuapi_SecBufferDesc(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBufferDesc *r)
    9370             : {
    9371             :         uint32_t cntr_buffers_1;
    9372           0 :         ndr_print_struct(ndr, name, "drsuapi_SecBufferDesc");
    9373           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9374           0 :         ndr->depth++;
    9375           0 :         ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
    9376           0 :         ndr_print_uint32(ndr, "buff_count", r->buff_count);
    9377           0 :         ndr_print_ptr(ndr, "buffers", r->buffers);
    9378           0 :         ndr->depth++;
    9379           0 :         if (r->buffers) {
    9380           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->buff_count);
    9381           0 :                 ndr->depth++;
    9382           0 :                 for (cntr_buffers_1 = 0; cntr_buffers_1 < (r->buff_count); cntr_buffers_1++) {
    9383           0 :                         ndr_print_drsuapi_SecBuffer(ndr, "buffers", &r->buffers[cntr_buffers_1]);
    9384             :                 }
    9385           0 :                 ndr->depth--;
    9386             :         }
    9387           0 :         ndr->depth--;
    9388           0 :         ndr->depth--;
    9389             : }
    9390             : 
    9391           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest3 *r)
    9392             : {
    9393           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9394           0 :         if (ndr_flags & NDR_SCALARS) {
    9395           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9396           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
    9397           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_creds));
    9398           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9399             :         }
    9400           0 :         if (ndr_flags & NDR_BUFFERS) {
    9401           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
    9402           0 :                 if (r->client_creds) {
    9403           0 :                         NDR_CHECK(ndr_push_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds));
    9404             :                 }
    9405             :         }
    9406           0 :         return NDR_ERR_SUCCESS;
    9407             : }
    9408             : 
    9409           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest3 *r)
    9410             : {
    9411             :         uint32_t _ptr_client_creds;
    9412           0 :         TALLOC_CTX *_mem_save_client_creds_0 = NULL;
    9413           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9414           0 :         if (ndr_flags & NDR_SCALARS) {
    9415           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9416           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
    9417           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_creds));
    9418           0 :                 if (_ptr_client_creds) {
    9419           0 :                         NDR_PULL_ALLOC(ndr, r->client_creds);
    9420             :                 } else {
    9421           0 :                         r->client_creds = NULL;
    9422             :                 }
    9423           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9424             :         }
    9425           0 :         if (ndr_flags & NDR_BUFFERS) {
    9426           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
    9427           0 :                 if (r->client_creds) {
    9428           0 :                         _mem_save_client_creds_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9429           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->client_creds, 0);
    9430           0 :                         NDR_CHECK(ndr_pull_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds));
    9431           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_creds_0, 0);
    9432             :                 }
    9433             :         }
    9434           0 :         return NDR_ERR_SUCCESS;
    9435             : }
    9436             : 
    9437           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest3 *r)
    9438             : {
    9439           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest3");
    9440           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9441           0 :         ndr->depth++;
    9442           0 :         ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
    9443           0 :         ndr_print_ptr(ndr, "client_creds", r->client_creds);
    9444           0 :         ndr->depth++;
    9445           0 :         if (r->client_creds) {
    9446           0 :                 ndr_print_drsuapi_SecBufferDesc(ndr, "client_creds", r->client_creds);
    9447             :         }
    9448           0 :         ndr->depth--;
    9449           0 :         ndr->depth--;
    9450             : }
    9451             : 
    9452          64 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
    9453             : {
    9454             :         uint32_t level;
    9455          64 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9456          64 :         if (ndr_flags & NDR_SCALARS) {
    9457             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    9458          64 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    9459          64 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    9460          64 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    9461          64 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    9462          64 :                 switch (level) {
    9463          64 :                         case 2: {
    9464          64 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
    9465          63 :                         break; }
    9466             : 
    9467           0 :                         case 3: {
    9468           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3));
    9469           0 :                         break; }
    9470             : 
    9471           0 :                         default:
    9472           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    9473             :                 }
    9474           0 :         }
    9475          64 :         if (ndr_flags & NDR_BUFFERS) {
    9476          64 :                 if (!(ndr_flags & NDR_SCALARS)) {
    9477             :                         /* We didn't get it above, and the token is not needed after this. */
    9478           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    9479             :                 }
    9480          64 :                 switch (level) {
    9481          64 :                         case 2:
    9482          64 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
    9483          63 :                         break;
    9484             : 
    9485           0 :                         case 3:
    9486           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3));
    9487           0 :                         break;
    9488             : 
    9489           0 :                         default:
    9490           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    9491             :                 }
    9492           0 :         }
    9493          63 :         return NDR_ERR_SUCCESS;
    9494             : }
    9495             : 
    9496          67 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
    9497             : {
    9498             :         uint32_t level;
    9499             :         uint32_t _level;
    9500          67 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9501          67 :         if (ndr_flags & NDR_SCALARS) {
    9502             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    9503          67 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    9504          67 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    9505          67 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    9506          67 :                 if (_level != level) {
    9507           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    9508             :                 }
    9509          67 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    9510          67 :                 switch (level) {
    9511          67 :                         case 2: {
    9512          67 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
    9513          63 :                         break; }
    9514             : 
    9515           0 :                         case 3: {
    9516           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3));
    9517           0 :                         break; }
    9518             : 
    9519           0 :                         default:
    9520           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    9521             :                 }
    9522           0 :         }
    9523          67 :         if (ndr_flags & NDR_BUFFERS) {
    9524          67 :                 if (!(ndr_flags & NDR_SCALARS)) {
    9525             :                         /* We didn't get it above, and the token is not needed after this. */
    9526           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    9527             :                 }
    9528          67 :                 switch (level) {
    9529          67 :                         case 2:
    9530          67 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
    9531          63 :                         break;
    9532             : 
    9533           0 :                         case 3:
    9534           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3));
    9535           0 :                         break;
    9536             : 
    9537           0 :                         default:
    9538           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    9539             :                 }
    9540           0 :         }
    9541          63 :         return NDR_ERR_SUCCESS;
    9542             : }
    9543             : 
    9544           4 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
    9545             : {
    9546             :         uint32_t level;
    9547           4 :         level = ndr_print_steal_switch_value(ndr, r);
    9548           4 :         ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
    9549           4 :         switch (level) {
    9550           4 :                 case 2:
    9551           4 :                         ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
    9552           4 :                 break;
    9553             : 
    9554           0 :                 case 3:
    9555           0 :                         ndr_print_drsuapi_DsAddEntryRequest3(ndr, "req3", &r->req3);
    9556           0 :                 break;
    9557             : 
    9558           0 :                 default:
    9559           0 :                         ndr_print_bad_level(ndr, name, level);
    9560             :         }
    9561           4 : }
    9562             : 
    9563           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
    9564             : {
    9565           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9566           0 :         if (ndr_flags & NDR_SCALARS) {
    9567           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    9568           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
    9569           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
    9570           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
    9571           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
    9572           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    9573             :         }
    9574           0 :         if (ndr_flags & NDR_BUFFERS) {
    9575             :         }
    9576           0 :         return NDR_ERR_SUCCESS;
    9577             : }
    9578             : 
    9579           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
    9580             : {
    9581           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9582           0 :         if (ndr_flags & NDR_SCALARS) {
    9583           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    9584           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
    9585           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
    9586           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
    9587           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
    9588           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    9589             :         }
    9590           0 :         if (ndr_flags & NDR_BUFFERS) {
    9591             :         }
    9592           0 :         return NDR_ERR_SUCCESS;
    9593             : }
    9594             : 
    9595           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
    9596             : {
    9597           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
    9598           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9599           0 :         ndr->depth++;
    9600           0 :         ndr_print_uint32(ndr, "dsid", r->dsid);
    9601           0 :         ndr_print_WERROR(ndr, "extended_err", r->extended_err);
    9602           0 :         ndr_print_uint32(ndr, "extended_data", r->extended_data);
    9603           0 :         ndr_print_uint16(ndr, "problem", r->problem);
    9604           0 :         ndr->depth--;
    9605             : }
    9606             : 
    9607           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_AttrErr_V1 *r)
    9608             : {
    9609           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9610           0 :         if (ndr_flags & NDR_SCALARS) {
    9611           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9612           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
    9613           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
    9614           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
    9615           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
    9616           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
    9617           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_val_returned));
    9618           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val));
    9619           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9620             :         }
    9621           0 :         if (ndr_flags & NDR_BUFFERS) {
    9622           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val));
    9623             :         }
    9624           0 :         return NDR_ERR_SUCCESS;
    9625             : }
    9626             : 
    9627           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErr_V1 *r)
    9628             : {
    9629           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9630           0 :         if (ndr_flags & NDR_SCALARS) {
    9631           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9632           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
    9633           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
    9634           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
    9635           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
    9636           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
    9637           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_val_returned));
    9638           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val));
    9639           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9640             :         }
    9641           0 :         if (ndr_flags & NDR_BUFFERS) {
    9642           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val));
    9643             :         }
    9644           0 :         return NDR_ERR_SUCCESS;
    9645             : }
    9646             : 
    9647           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_AttrErr_V1 *r)
    9648             : {
    9649           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_AttrErr_V1");
    9650           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9651           0 :         ndr->depth++;
    9652           0 :         ndr_print_uint32(ndr, "dsid", r->dsid);
    9653           0 :         ndr_print_WERROR(ndr, "extended_err", r->extended_err);
    9654           0 :         ndr_print_uint32(ndr, "extended_data", r->extended_data);
    9655           0 :         ndr_print_uint16(ndr, "problem", r->problem);
    9656           0 :         ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
    9657           0 :         ndr_print_uint32(ndr, "is_val_returned", r->is_val_returned);
    9658           0 :         ndr_print_drsuapi_DsAttributeValue(ndr, "attr_val", &r->attr_val);
    9659           0 :         ndr->depth--;
    9660             : }
    9661             : 
    9662           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r)
    9663             : {
    9664           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9665           0 :         if (ndr_flags & NDR_SCALARS) {
    9666           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9667           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
    9668           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data));
    9669           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9670             :         }
    9671           0 :         if (ndr_flags & NDR_BUFFERS) {
    9672           0 :                 if (r->next) {
    9673           0 :                         NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
    9674             :                 }
    9675           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data));
    9676             :         }
    9677           0 :         return NDR_ERR_SUCCESS;
    9678             : }
    9679             : 
    9680           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r)
    9681             : {
    9682             :         uint32_t _ptr_next;
    9683           0 :         TALLOC_CTX *_mem_save_next_0 = NULL;
    9684           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9685           0 :         if (ndr_flags & NDR_SCALARS) {
    9686           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9687           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
    9688           0 :                 if (_ptr_next) {
    9689           0 :                         NDR_PULL_ALLOC(ndr, r->next);
    9690             :                 } else {
    9691           0 :                         r->next = NULL;
    9692             :                 }
    9693           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data));
    9694           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9695             :         }
    9696           0 :         if (ndr_flags & NDR_BUFFERS) {
    9697           0 :                 if (r->next) {
    9698           0 :                         _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9699           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
    9700           0 :                         NDR_RECURSION_CHECK(ndr, 20000);
    9701           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
    9702           0 :                         NDR_RECURSION_UNWIND(ndr);
    9703           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
    9704             :                 }
    9705           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data));
    9706             :         }
    9707           0 :         return NDR_ERR_SUCCESS;
    9708             : }
    9709             : 
    9710           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
    9711             : {
    9712           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9713           0 :         if (ndr_flags & NDR_SCALARS) {
    9714           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9715           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
    9716           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    9717           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first));
    9718           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9719             :         }
    9720           0 :         if (ndr_flags & NDR_BUFFERS) {
    9721           0 :                 if (r->id) {
    9722           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
    9723             :                 }
    9724           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first));
    9725             :         }
    9726           0 :         return NDR_ERR_SUCCESS;
    9727             : }
    9728             : 
    9729           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
    9730             : {
    9731             :         uint32_t _ptr_id;
    9732           0 :         TALLOC_CTX *_mem_save_id_0 = NULL;
    9733           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9734           0 :         if (ndr_flags & NDR_SCALARS) {
    9735           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9736           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
    9737           0 :                 if (_ptr_id) {
    9738           0 :                         NDR_PULL_ALLOC(ndr, r->id);
    9739             :                 } else {
    9740           0 :                         r->id = NULL;
    9741             :                 }
    9742           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    9743           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first));
    9744           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9745             :         }
    9746           0 :         if (ndr_flags & NDR_BUFFERS) {
    9747           0 :                 if (r->id) {
    9748           0 :                         _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9749           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
    9750           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
    9751           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
    9752             :                 }
    9753           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first));
    9754             :         }
    9755           0 :         return NDR_ERR_SUCCESS;
    9756             : }
    9757             : 
    9758           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
    9759             : {
    9760           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Attr_V1");
    9761           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9762           0 :         ndr->depth++;
    9763           0 :         ndr_print_ptr(ndr, "id", r->id);
    9764           0 :         ndr->depth++;
    9765           0 :         if (r->id) {
    9766           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
    9767             :         }
    9768           0 :         ndr->depth--;
    9769           0 :         ndr_print_uint32(ndr, "count", r->count);
    9770           0 :         ndr_print_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, "first", &r->first);
    9771           0 :         ndr->depth--;
    9772             : }
    9773             : 
    9774           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
    9775             : {
    9776           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9777           0 :         if (ndr_flags & NDR_SCALARS) {
    9778           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9779           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
    9780           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
    9781           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
    9782           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
    9783           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_matched));
    9784           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9785             :         }
    9786           0 :         if (ndr_flags & NDR_BUFFERS) {
    9787           0 :                 if (r->id_matched) {
    9788           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched));
    9789             :                 }
    9790             :         }
    9791           0 :         return NDR_ERR_SUCCESS;
    9792             : }
    9793             : 
    9794           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
    9795             : {
    9796             :         uint32_t _ptr_id_matched;
    9797           0 :         TALLOC_CTX *_mem_save_id_matched_0 = NULL;
    9798           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9799           0 :         if (ndr_flags & NDR_SCALARS) {
    9800           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9801           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
    9802           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
    9803           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
    9804           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
    9805           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_matched));
    9806           0 :                 if (_ptr_id_matched) {
    9807           0 :                         NDR_PULL_ALLOC(ndr, r->id_matched);
    9808             :                 } else {
    9809           0 :                         r->id_matched = NULL;
    9810             :                 }
    9811           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9812             :         }
    9813           0 :         if (ndr_flags & NDR_BUFFERS) {
    9814           0 :                 if (r->id_matched) {
    9815           0 :                         _mem_save_id_matched_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9816           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->id_matched, 0);
    9817           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched));
    9818           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_matched_0, 0);
    9819             :                 }
    9820             :         }
    9821           0 :         return NDR_ERR_SUCCESS;
    9822             : }
    9823             : 
    9824           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
    9825             : {
    9826           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Name_V1");
    9827           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9828           0 :         ndr->depth++;
    9829           0 :         ndr_print_uint32(ndr, "dsid", r->dsid);
    9830           0 :         ndr_print_WERROR(ndr, "extended_err", r->extended_err);
    9831           0 :         ndr_print_uint32(ndr, "extended_data", r->extended_data);
    9832           0 :         ndr_print_uint16(ndr, "problem", r->problem);
    9833           0 :         ndr_print_ptr(ndr, "id_matched", r->id_matched);
    9834           0 :         ndr->depth++;
    9835           0 :         if (r->id_matched) {
    9836           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_matched", r->id_matched);
    9837             :         }
    9838           0 :         ndr->depth--;
    9839           0 :         ndr->depth--;
    9840             : }
    9841             : 
    9842           0 : static enum ndr_err_code ndr_push_drsuapi_NameResOp_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_NameResOp_V1 *r)
    9843             : {
    9844           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9845           0 :         if (ndr_flags & NDR_SCALARS) {
    9846           0 :                 NDR_CHECK(ndr_push_align(ndr, 2));
    9847           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 83));
    9848           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0));
    9849           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
    9850           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
    9851             :         }
    9852           0 :         if (ndr_flags & NDR_BUFFERS) {
    9853             :         }
    9854           0 :         return NDR_ERR_SUCCESS;
    9855             : }
    9856             : 
    9857           1 : static enum ndr_err_code ndr_pull_drsuapi_NameResOp_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_NameResOp_V1 *r)
    9858             : {
    9859           1 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9860           1 :         if (ndr_flags & NDR_SCALARS) {
    9861           1 :                 NDR_CHECK(ndr_pull_align(ndr, 2));
    9862           1 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->name_res));
    9863           1 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unused_pad));
    9864           1 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->next_rdn));
    9865           1 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
    9866             :         }
    9867           0 :         if (ndr_flags & NDR_BUFFERS) {
    9868             :         }
    9869           1 :         return NDR_ERR_SUCCESS;
    9870             : }
    9871             : 
    9872           0 : _PUBLIC_ void ndr_print_drsuapi_NameResOp_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_NameResOp_V1 *r)
    9873             : {
    9874           0 :         ndr_print_struct(ndr, name, "drsuapi_NameResOp_V1");
    9875           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9876           0 :         ndr->depth++;
    9877           0 :         ndr_print_uint8(ndr, "name_res", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?83:r->name_res);
    9878           0 :         ndr_print_uint8(ndr, "unused_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unused_pad);
    9879           0 :         ndr_print_uint16(ndr, "next_rdn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->next_rdn);
    9880           0 :         ndr->depth--;
    9881             : }
    9882             : 
    9883           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType r)
    9884             : {
    9885           0 :         NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
    9886           0 :         return NDR_ERR_SUCCESS;
    9887             : }
    9888             : 
    9889           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType *r)
    9890             : {
    9891             :         uint16_t v;
    9892           1 :         NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
    9893           1 :         *r = v;
    9894           0 :         return NDR_ERR_SUCCESS;
    9895             : }
    9896             : 
    9897           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_RefType r)
    9898             : {
    9899           0 :         const char *val = NULL;
    9900             : 
    9901           0 :         switch (r) {
    9902           0 :                 case DRSUAPI_CH_REFTYPE_SUPERIOR: val = "DRSUAPI_CH_REFTYPE_SUPERIOR"; break;
    9903           0 :                 case DRSUAPI_CH_REFTYPE_SUBORDINATE: val = "DRSUAPI_CH_REFTYPE_SUBORDINATE"; break;
    9904           0 :                 case DRSUAPI_CH_REFTYPE_NSSR: val = "DRSUAPI_CH_REFTYPE_NSSR"; break;
    9905           0 :                 case DRSUAPI_CH_REFTYPE_CROSS: val = "DRSUAPI_CH_REFTYPE_CROSS"; break;
    9906             :         }
    9907           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    9908           0 : }
    9909             : 
    9910           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ChoiceType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType r)
    9911             : {
    9912           0 :         NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
    9913           0 :         return NDR_ERR_SUCCESS;
    9914             : }
    9915             : 
    9916           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ChoiceType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType *r)
    9917             : {
    9918             :         uint8_t v;
    9919           1 :         NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
    9920           1 :         *r = v;
    9921           0 :         return NDR_ERR_SUCCESS;
    9922             : }
    9923             : 
    9924           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ChoiceType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_ChoiceType r)
    9925             : {
    9926           0 :         const char *val = NULL;
    9927             : 
    9928           0 :         switch (r) {
    9929           0 :                 case DRSUAPI_SE_CHOICE_BASE_ONLY: val = "DRSUAPI_SE_CHOICE_BASE_ONLY"; break;
    9930           0 :                 case DRSUAPI_SE_CHOICE_IMMED_CHLDRN: val = "DRSUAPI_SE_CHOICE_IMMED_CHLDRN"; break;
    9931           0 :                 case DRSUAPI_SE_CHOICE_WHOLE_SUBTREE: val = "DRSUAPI_SE_CHOICE_WHOLE_SUBTREE"; break;
    9932             :         }
    9933           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    9934           0 : }
    9935             : 
    9936           0 : static enum ndr_err_code ndr_push_drsuapi_DsaAddressListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsaAddressListItem_V1 *r)
    9937             : {
    9938           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9939           0 :         if (ndr_flags & NDR_SCALARS) {
    9940           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9941           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
    9942           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->address));
    9943           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9944             :         }
    9945           0 :         if (ndr_flags & NDR_BUFFERS) {
    9946           0 :                 if (r->next) {
    9947           0 :                         NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
    9948             :                 }
    9949           0 :                 if (r->address) {
    9950           0 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address));
    9951             :                 }
    9952             :         }
    9953           0 :         return NDR_ERR_SUCCESS;
    9954             : }
    9955             : 
    9956        1025 : static enum ndr_err_code ndr_pull_drsuapi_DsaAddressListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsaAddressListItem_V1 *r)
    9957             : {
    9958             :         uint32_t _ptr_next;
    9959        1025 :         TALLOC_CTX *_mem_save_next_0 = NULL;
    9960             :         uint32_t _ptr_address;
    9961        1025 :         TALLOC_CTX *_mem_save_address_0 = NULL;
    9962        1025 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9963        1025 :         if (ndr_flags & NDR_SCALARS) {
    9964        1025 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9965        1025 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
    9966        1025 :                 if (_ptr_next) {
    9967        1025 :                         NDR_PULL_ALLOC(ndr, r->next);
    9968             :                 } else {
    9969           0 :                         r->next = NULL;
    9970             :                 }
    9971        1025 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_address));
    9972        1025 :                 if (_ptr_address) {
    9973        1016 :                         NDR_PULL_ALLOC(ndr, r->address);
    9974             :                 } else {
    9975           9 :                         r->address = NULL;
    9976             :                 }
    9977        1025 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9978             :         }
    9979        1025 :         if (ndr_flags & NDR_BUFFERS) {
    9980        1025 :                 if (r->next) {
    9981        1025 :                         _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9982        1025 :                         NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
    9983        1025 :                         NDR_RECURSION_CHECK(ndr, 1024);
    9984        1024 :                         NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
    9985           0 :                         NDR_RECURSION_UNWIND(ndr);
    9986           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
    9987             :                 }
    9988           0 :                 if (r->address) {
    9989           0 :                         _mem_save_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9990           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->address, 0);
    9991           0 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address));
    9992           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_address_0, 0);
    9993             :                 }
    9994             :         }
    9995           0 :         return NDR_ERR_SUCCESS;
    9996             : }
    9997             : 
    9998           0 : _PUBLIC_ void ndr_print_drsuapi_DsaAddressListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsaAddressListItem_V1 *r)
    9999             : {
   10000           0 :         ndr_print_struct(ndr, name, "drsuapi_DsaAddressListItem_V1");
   10001           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10002           0 :         ndr->depth++;
   10003           0 :         ndr_print_ptr(ndr, "next", r->next);
   10004           0 :         ndr->depth++;
   10005           0 :         if (r->next) {
   10006           0 :                 ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "next", r->next);
   10007             :         }
   10008           0 :         ndr->depth--;
   10009           0 :         ndr_print_ptr(ndr, "address", r->address);
   10010           0 :         ndr->depth++;
   10011           0 :         if (r->address) {
   10012           0 :                 ndr_print_lsa_String(ndr, "address", r->address);
   10013             :         }
   10014           0 :         ndr->depth--;
   10015           0 :         ndr->depth--;
   10016             : }
   10017             : 
   10018           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
   10019             : {
   10020           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10021           0 :         if (ndr_flags & NDR_SCALARS) {
   10022           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   10023           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_target));
   10024           0 :                 NDR_CHECK(ndr_push_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state));
   10025           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
   10026           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
   10027           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, r->ref_type));
   10028           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->addr_list_count));
   10029           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr_list));
   10030           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
   10031           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_choice_set));
   10032           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, r->choice));
   10033           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   10034             :         }
   10035           0 :         if (ndr_flags & NDR_BUFFERS) {
   10036           0 :                 if (r->id_target) {
   10037           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target));
   10038             :                 }
   10039           0 :                 if (r->addr_list) {
   10040           0 :                         NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list));
   10041             :                 }
   10042           0 :                 if (r->next) {
   10043           0 :                         NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
   10044             :                 }
   10045             :         }
   10046           0 :         return NDR_ERR_SUCCESS;
   10047             : }
   10048             : 
   10049           2 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
   10050             : {
   10051             :         uint32_t _ptr_id_target;
   10052           2 :         TALLOC_CTX *_mem_save_id_target_0 = NULL;
   10053             :         uint32_t _ptr_addr_list;
   10054           2 :         TALLOC_CTX *_mem_save_addr_list_0 = NULL;
   10055             :         uint32_t _ptr_next;
   10056           2 :         TALLOC_CTX *_mem_save_next_0 = NULL;
   10057           2 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10058           2 :         if (ndr_flags & NDR_SCALARS) {
   10059           1 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   10060           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_target));
   10061           1 :                 if (_ptr_id_target) {
   10062           1 :                         NDR_PULL_ALLOC(ndr, r->id_target);
   10063             :                 } else {
   10064           0 :                         r->id_target = NULL;
   10065             :                 }
   10066           1 :                 NDR_CHECK(ndr_pull_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state));
   10067           1 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_alias));
   10068           1 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_internal));
   10069           2 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, &r->ref_type));
   10070           1 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->addr_list_count));
   10071           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr_list));
   10072           1 :                 if (_ptr_addr_list) {
   10073           1 :                         NDR_PULL_ALLOC(ndr, r->addr_list);
   10074             :                 } else {
   10075           0 :                         r->addr_list = NULL;
   10076             :                 }
   10077           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
   10078           1 :                 if (_ptr_next) {
   10079           1 :                         NDR_PULL_ALLOC(ndr, r->next);
   10080             :                 } else {
   10081           0 :                         r->next = NULL;
   10082             :                 }
   10083           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_choice_set));
   10084           2 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, &r->choice));
   10085           1 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   10086             :         }
   10087           2 :         if (ndr_flags & NDR_BUFFERS) {
   10088           1 :                 if (r->id_target) {
   10089           1 :                         _mem_save_id_target_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10090           1 :                         NDR_PULL_SET_MEM_CTX(ndr, r->id_target, 0);
   10091           1 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target));
   10092           1 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_target_0, 0);
   10093             :                 }
   10094           1 :                 if (r->addr_list) {
   10095           1 :                         _mem_save_addr_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10096           1 :                         NDR_PULL_SET_MEM_CTX(ndr, r->addr_list, 0);
   10097           1 :                         NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list));
   10098           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_list_0, 0);
   10099             :                 }
   10100           0 :                 if (r->next) {
   10101           0 :                         _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10102           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
   10103           0 :                         NDR_RECURSION_CHECK(ndr, 20000);
   10104           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
   10105           0 :                         NDR_RECURSION_UNWIND(ndr);
   10106           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
   10107             :                 }
   10108             :         }
   10109           0 :         return NDR_ERR_SUCCESS;
   10110             : }
   10111             : 
   10112           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
   10113             : {
   10114           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_RefErrListItem_V1");
   10115           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10116           0 :         ndr->depth++;
   10117           0 :         ndr_print_ptr(ndr, "id_target", r->id_target);
   10118           0 :         ndr->depth++;
   10119           0 :         if (r->id_target) {
   10120           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_target", r->id_target);
   10121             :         }
   10122           0 :         ndr->depth--;
   10123           0 :         ndr_print_drsuapi_NameResOp_V1(ndr, "op_state", &r->op_state);
   10124           0 :         ndr_print_uint16(ndr, "rdn_alias", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_alias);
   10125           0 :         ndr_print_uint16(ndr, "rdn_internal", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_internal);
   10126           0 :         ndr_print_drsuapi_DsAddEntry_RefType(ndr, "ref_type", r->ref_type);
   10127           0 :         ndr_print_uint16(ndr, "addr_list_count", r->addr_list_count);
   10128           0 :         ndr_print_ptr(ndr, "addr_list", r->addr_list);
   10129           0 :         ndr->depth++;
   10130           0 :         if (r->addr_list) {
   10131           0 :                 ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "addr_list", r->addr_list);
   10132             :         }
   10133           0 :         ndr->depth--;
   10134           0 :         ndr_print_ptr(ndr, "next", r->next);
   10135           0 :         ndr->depth++;
   10136           0 :         if (r->next) {
   10137           0 :                 ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "next", r->next);
   10138             :         }
   10139           0 :         ndr->depth--;
   10140           0 :         ndr_print_uint32(ndr, "is_choice_set", r->is_choice_set);
   10141           0 :         ndr_print_drsuapi_DsAddEntry_ChoiceType(ndr, "choice", r->choice);
   10142           0 :         ndr->depth--;
   10143             : }
   10144             : 
   10145           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
   10146             : {
   10147           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10148           0 :         if (ndr_flags & NDR_SCALARS) {
   10149           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   10150           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
   10151           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
   10152           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
   10153           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer));
   10154           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   10155             :         }
   10156           0 :         if (ndr_flags & NDR_BUFFERS) {
   10157           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer));
   10158             :         }
   10159           0 :         return NDR_ERR_SUCCESS;
   10160             : }
   10161             : 
   10162           2 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
   10163             : {
   10164           2 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10165           2 :         if (ndr_flags & NDR_SCALARS) {
   10166           1 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   10167           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
   10168           1 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
   10169           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
   10170           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer));
   10171           1 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   10172             :         }
   10173           2 :         if (ndr_flags & NDR_BUFFERS) {
   10174           1 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer));
   10175             :         }
   10176           0 :         return NDR_ERR_SUCCESS;
   10177             : }
   10178             : 
   10179           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
   10180             : {
   10181           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Referr_V1");
   10182           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10183           0 :         ndr->depth++;
   10184           0 :         ndr_print_uint32(ndr, "dsid", r->dsid);
   10185           0 :         ndr_print_WERROR(ndr, "extended_err", r->extended_err);
   10186           0 :         ndr_print_uint32(ndr, "extended_data", r->extended_data);
   10187           0 :         ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "refer", &r->refer);
   10188           0 :         ndr->depth--;
   10189             : }
   10190             : 
   10191           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
   10192             : {
   10193             :         uint32_t level;
   10194           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10195           0 :         if (ndr_flags & NDR_SCALARS) {
   10196             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   10197           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   10198           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   10199           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
   10200           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   10201           0 :                 switch (level) {
   10202           0 :                         case 1: {
   10203           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err));
   10204           0 :                         break; }
   10205             : 
   10206           0 :                         case 2: {
   10207           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err));
   10208           0 :                         break; }
   10209             : 
   10210           0 :                         case 3: {
   10211           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err));
   10212           0 :                         break; }
   10213             : 
   10214           0 :                         case 4: {
   10215           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err));
   10216           0 :                         break; }
   10217             : 
   10218           0 :                         case 5: {
   10219           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err));
   10220           0 :                         break; }
   10221             : 
   10222           0 :                         case 6: {
   10223           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err));
   10224           0 :                         break; }
   10225             : 
   10226           0 :                         case 7: {
   10227           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err));
   10228           0 :                         break; }
   10229             : 
   10230           0 :                         default:
   10231           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   10232             :                 }
   10233           0 :         }
   10234           0 :         if (ndr_flags & NDR_BUFFERS) {
   10235           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   10236             :                         /* We didn't get it above, and the token is not needed after this. */
   10237           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   10238             :                 }
   10239           0 :                 switch (level) {
   10240           0 :                         case 1:
   10241           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err));
   10242           0 :                         break;
   10243             : 
   10244           0 :                         case 2:
   10245           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err));
   10246           0 :                         break;
   10247             : 
   10248           0 :                         case 3:
   10249           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err));
   10250           0 :                         break;
   10251             : 
   10252           0 :                         case 4:
   10253           0 :                         break;
   10254             : 
   10255           0 :                         case 5:
   10256           0 :                         break;
   10257             : 
   10258           0 :                         case 6:
   10259           0 :                         break;
   10260             : 
   10261           0 :                         case 7:
   10262           0 :                         break;
   10263             : 
   10264           0 :                         default:
   10265           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   10266             :                 }
   10267           0 :         }
   10268           0 :         return NDR_ERR_SUCCESS;
   10269             : }
   10270             : 
   10271           1 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
   10272             : {
   10273             :         uint32_t level;
   10274             :         uint32_t _level;
   10275           1 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10276           1 :         if (ndr_flags & NDR_SCALARS) {
   10277             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   10278           1 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   10279           1 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   10280           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   10281           1 :                 if (_level != level) {
   10282           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   10283             :                 }
   10284           1 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   10285           1 :                 switch (level) {
   10286           0 :                         case 1: {
   10287           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err));
   10288           0 :                         break; }
   10289             : 
   10290           0 :                         case 2: {
   10291           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err));
   10292           0 :                         break; }
   10293             : 
   10294           1 :                         case 3: {
   10295           1 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err));
   10296           0 :                         break; }
   10297             : 
   10298           0 :                         case 4: {
   10299           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err));
   10300           0 :                         break; }
   10301             : 
   10302           0 :                         case 5: {
   10303           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err));
   10304           0 :                         break; }
   10305             : 
   10306           0 :                         case 6: {
   10307           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err));
   10308           0 :                         break; }
   10309             : 
   10310           0 :                         case 7: {
   10311           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err));
   10312           0 :                         break; }
   10313             : 
   10314           0 :                         default:
   10315           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   10316             :                 }
   10317           0 :         }
   10318           1 :         if (ndr_flags & NDR_BUFFERS) {
   10319           1 :                 if (!(ndr_flags & NDR_SCALARS)) {
   10320             :                         /* We didn't get it above, and the token is not needed after this. */
   10321           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   10322             :                 }
   10323           1 :                 switch (level) {
   10324           0 :                         case 1:
   10325           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err));
   10326           0 :                         break;
   10327             : 
   10328           0 :                         case 2:
   10329           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err));
   10330           0 :                         break;
   10331             : 
   10332           1 :                         case 3:
   10333           1 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err));
   10334           0 :                         break;
   10335             : 
   10336           0 :                         case 4:
   10337           0 :                         break;
   10338             : 
   10339           0 :                         case 5:
   10340           0 :                         break;
   10341             : 
   10342           0 :                         case 6:
   10343           0 :                         break;
   10344             : 
   10345           0 :                         case 7:
   10346           0 :                         break;
   10347             : 
   10348           0 :                         default:
   10349           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   10350             :                 }
   10351           0 :         }
   10352           0 :         return NDR_ERR_SUCCESS;
   10353             : }
   10354             : 
   10355           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
   10356             : {
   10357             :         uint32_t level;
   10358           0 :         level = ndr_print_steal_switch_value(ndr, r);
   10359           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
   10360           0 :         switch (level) {
   10361           0 :                 case 1:
   10362           0 :                         ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, "attr_err", &r->attr_err);
   10363           0 :                 break;
   10364             : 
   10365           0 :                 case 2:
   10366           0 :                         ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, "name_err", &r->name_err);
   10367           0 :                 break;
   10368             : 
   10369           0 :                 case 3:
   10370           0 :                         ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, "referral_err", &r->referral_err);
   10371           0 :                 break;
   10372             : 
   10373           0 :                 case 4:
   10374           0 :                         ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "security_err", &r->security_err);
   10375           0 :                 break;
   10376             : 
   10377           0 :                 case 5:
   10378           0 :                         ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "service_err", &r->service_err);
   10379           0 :                 break;
   10380             : 
   10381           0 :                 case 6:
   10382           0 :                         ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "update_err", &r->update_err);
   10383           0 :                 break;
   10384             : 
   10385           0 :                 case 7:
   10386           0 :                         ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "system_err", &r->system_err);
   10387           0 :                 break;
   10388             : 
   10389           0 :                 default:
   10390           0 :                         ndr_print_bad_level(ndr, name, level);
   10391             :         }
   10392           0 : }
   10393             : 
   10394         126 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_ErrData_V1 *r)
   10395             : {
   10396         126 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10397         126 :         if (ndr_flags & NDR_SCALARS) {
   10398          63 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   10399          63 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
   10400          63 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err));
   10401          63 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
   10402          63 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   10403             :         }
   10404         126 :         if (ndr_flags & NDR_BUFFERS) {
   10405          63 :                 if (r->info) {
   10406           0 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->dir_err));
   10407           0 :                         NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
   10408             :                 }
   10409             :         }
   10410         126 :         return NDR_ERR_SUCCESS;
   10411             : }
   10412             : 
   10413         132 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_ErrData_V1 *r)
   10414             : {
   10415             :         uint32_t _ptr_info;
   10416         132 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   10417         132 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10418         132 :         if (ndr_flags & NDR_SCALARS) {
   10419          66 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   10420          66 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
   10421          69 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err));
   10422          66 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
   10423          66 :                 if (_ptr_info) {
   10424           1 :                         NDR_PULL_ALLOC(ndr, r->info);
   10425             :                 } else {
   10426          65 :                         r->info = NULL;
   10427             :                 }
   10428          66 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   10429             :         }
   10430         132 :         if (ndr_flags & NDR_BUFFERS) {
   10431          66 :                 if (r->info) {
   10432           1 :                         _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10433           1 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
   10434           1 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->dir_err));
   10435           1 :                         NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
   10436           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
   10437             :                 }
   10438             :         }
   10439         126 :         return NDR_ERR_SUCCESS;
   10440             : }
   10441             : 
   10442           2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_ErrData_V1 *r)
   10443             : {
   10444           2 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_ErrData_V1");
   10445           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10446           2 :         ndr->depth++;
   10447           2 :         ndr_print_WERROR(ndr, "status", r->status);
   10448           2 :         ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err);
   10449           2 :         ndr_print_ptr(ndr, "info", r->info);
   10450           2 :         ndr->depth++;
   10451           2 :         if (r->info) {
   10452           0 :                 ndr_print_set_switch_value(ndr, r->info, r->dir_err);
   10453           0 :                 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
   10454             :         }
   10455           2 :         ndr->depth--;
   10456           2 :         ndr->depth--;
   10457             : }
   10458             : 
   10459          63 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntry_ErrData *r)
   10460             : {
   10461             :         uint32_t level;
   10462          63 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10463          63 :         if (ndr_flags & NDR_SCALARS) {
   10464             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   10465          63 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   10466          63 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   10467          63 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
   10468          63 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   10469          63 :                 switch (level) {
   10470          63 :                         case 1: {
   10471          63 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1));
   10472          63 :                         break; }
   10473             : 
   10474           0 :                         default:
   10475           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   10476             :                 }
   10477           0 :         }
   10478          63 :         if (ndr_flags & NDR_BUFFERS) {
   10479          63 :                 if (!(ndr_flags & NDR_SCALARS)) {
   10480             :                         /* We didn't get it above, and the token is not needed after this. */
   10481           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   10482             :                 }
   10483          63 :                 switch (level) {
   10484          63 :                         case 1:
   10485          63 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1));
   10486          63 :                         break;
   10487             : 
   10488           0 :                         default:
   10489           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   10490             :                 }
   10491           0 :         }
   10492          63 :         return NDR_ERR_SUCCESS;
   10493             : }
   10494             : 
   10495          66 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntry_ErrData *r)
   10496             : {
   10497             :         uint32_t level;
   10498             :         uint32_t _level;
   10499          66 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10500          66 :         if (ndr_flags & NDR_SCALARS) {
   10501             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   10502          66 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   10503          66 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   10504          66 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   10505          66 :                 if (_level != level) {
   10506           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   10507             :                 }
   10508          66 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   10509          66 :                 switch (level) {
   10510          66 :                         case 1: {
   10511          66 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1));
   10512          63 :                         break; }
   10513             : 
   10514           0 :                         default:
   10515           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   10516             :                 }
   10517           0 :         }
   10518          66 :         if (ndr_flags & NDR_BUFFERS) {
   10519          66 :                 if (!(ndr_flags & NDR_SCALARS)) {
   10520             :                         /* We didn't get it above, and the token is not needed after this. */
   10521           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   10522             :                 }
   10523          66 :                 switch (level) {
   10524          66 :                         case 1:
   10525          66 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1));
   10526          63 :                         break;
   10527             : 
   10528           0 :                         default:
   10529           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   10530             :                 }
   10531           0 :         }
   10532          63 :         return NDR_ERR_SUCCESS;
   10533             : }
   10534             : 
   10535           2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntry_ErrData *r)
   10536             : {
   10537             :         uint32_t level;
   10538           2 :         level = ndr_print_steal_switch_value(ndr, r);
   10539           2 :         ndr_print_union(ndr, name, level, "drsuapi_DsAddEntry_ErrData");
   10540           2 :         switch (level) {
   10541           2 :                 case 1:
   10542           2 :                         ndr_print_drsuapi_DsAddEntry_ErrData_V1(ndr, "v1", &r->v1);
   10543           2 :                 break;
   10544             : 
   10545           0 :                 default:
   10546           0 :                         ndr_print_bad_level(ndr, name, level);
   10547             :         }
   10548           2 : }
   10549             : 
   10550         126 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
   10551             : {
   10552         126 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10553         126 :         if (ndr_flags & NDR_SCALARS) {
   10554          63 :                 NDR_CHECK(ndr_push_align(ndr, 4));
   10555          63 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
   10556          63 :                 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
   10557          63 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
   10558             :         }
   10559         126 :         if (ndr_flags & NDR_BUFFERS) {
   10560          63 :                 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
   10561             :         }
   10562         126 :         return NDR_ERR_SUCCESS;
   10563             : }
   10564             : 
   10565         130 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
   10566             : {
   10567         130 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10568         130 :         if (ndr_flags & NDR_SCALARS) {
   10569          65 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
   10570          65 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
   10571          65 :                 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
   10572          65 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
   10573             :         }
   10574         130 :         if (ndr_flags & NDR_BUFFERS) {
   10575          65 :                 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
   10576             :         }
   10577         126 :         return NDR_ERR_SUCCESS;
   10578             : }
   10579             : 
   10580           2 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
   10581             : {
   10582           2 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
   10583           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10584           2 :         ndr->depth++;
   10585           2 :         ndr_print_GUID(ndr, "guid", &r->guid);
   10586           2 :         ndr_print_dom_sid28(ndr, "sid", &r->sid);
   10587           2 :         ndr->depth--;
   10588             : }
   10589             : 
   10590           0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
   10591             : {
   10592             :         uint32_t cntr_objects_1;
   10593           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10594           0 :         if (ndr_flags & NDR_SCALARS) {
   10595           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   10596           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
   10597           0 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err));
   10598           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
   10599           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
   10600           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
   10601           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
   10602           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   10603           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
   10604           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   10605             :         }
   10606           0 :         if (ndr_flags & NDR_BUFFERS) {
   10607           0 :                 if (r->id) {
   10608           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
   10609             :                 }
   10610           0 :                 if (r->objects) {
   10611           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   10612           0 :                         for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
   10613           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
   10614             :                         }
   10615           0 :                         for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
   10616           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
   10617             :                         }
   10618             :                 }
   10619             :         }
   10620           0 :         return NDR_ERR_SUCCESS;
   10621             : }
   10622             : 
   10623           0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
   10624             : {
   10625             :         uint32_t _ptr_id;
   10626           0 :         TALLOC_CTX *_mem_save_id_0 = NULL;
   10627             :         uint32_t _ptr_objects;
   10628           0 :         uint32_t size_objects_1 = 0;
   10629             :         uint32_t cntr_objects_1;
   10630           0 :         TALLOC_CTX *_mem_save_objects_0 = NULL;
   10631           0 :         TALLOC_CTX *_mem_save_objects_1 = NULL;
   10632           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10633           0 :         if (ndr_flags & NDR_SCALARS) {
   10634           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   10635           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
   10636           0 :                 if (_ptr_id) {
   10637           0 :                         NDR_PULL_ALLOC(ndr, r->id);
   10638             :                 } else {
   10639           0 :                         r->id = NULL;
   10640             :                 }
   10641           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err));
   10642           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
   10643           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
   10644           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
   10645           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
   10646           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   10647           0 :                 if (r->count > 10000) {
   10648           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   10649             :                 }
   10650           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
   10651           0 :                 if (_ptr_objects) {
   10652           0 :                         NDR_PULL_ALLOC(ndr, r->objects);
   10653             :                 } else {
   10654           0 :                         r->objects = NULL;
   10655             :                 }
   10656           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   10657             :         }
   10658           0 :         if (ndr_flags & NDR_BUFFERS) {
   10659           0 :                 if (r->id) {
   10660           0 :                         _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10661           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
   10662           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
   10663           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
   10664             :                 }
   10665           0 :                 if (r->objects) {
   10666           0 :                         _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10667           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
   10668           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
   10669           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->objects, &size_objects_1));
   10670           0 :                         NDR_PULL_ALLOC_N(ndr, r->objects, size_objects_1);
   10671           0 :                         _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10672           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
   10673           0 :                         for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
   10674           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
   10675             :                         }
   10676           0 :                         for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
   10677           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
   10678             :                         }
   10679           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
   10680           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
   10681             :                 }
   10682           0 :                 if (r->objects) {
   10683           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
   10684             :                 }
   10685           0 :                 for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
   10686             :                 }
   10687             :         }
   10688           0 :         return NDR_ERR_SUCCESS;
   10689             : }
   10690             : 
   10691           0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
   10692             : {
   10693             :         uint32_t cntr_objects_1;
   10694           0 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
   10695           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10696           0 :         ndr->depth++;
   10697           0 :         ndr_print_ptr(ndr, "id", r->id);
   10698           0 :         ndr->depth++;
   10699           0 :         if (r->id) {
   10700           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
   10701             :         }
   10702           0 :         ndr->depth--;
   10703           0 :         ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err);
   10704           0 :         ndr_print_uint32(ndr, "dsid", r->dsid);
   10705           0 :         ndr_print_WERROR(ndr, "extended_err", r->extended_err);
   10706           0 :         ndr_print_uint32(ndr, "extended_data", r->extended_data);
   10707           0 :         ndr_print_uint16(ndr, "problem", r->problem);
   10708           0 :         ndr_print_uint32(ndr, "count", r->count);
   10709           0 :         ndr_print_ptr(ndr, "objects", r->objects);
   10710           0 :         ndr->depth++;
   10711           0 :         if (r->objects) {
   10712           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
   10713           0 :                 ndr->depth++;
   10714           0 :                 for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
   10715           0 :                         ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
   10716             :                 }
   10717           0 :                 ndr->depth--;
   10718             :         }
   10719           0 :         ndr->depth--;
   10720           0 :         ndr->depth--;
   10721             : }
   10722             : 
   10723         126 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
   10724             : {
   10725             :         uint32_t cntr_objects_1;
   10726         126 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10727         126 :         if (ndr_flags & NDR_SCALARS) {
   10728          63 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   10729          63 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
   10730          63 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->err_ver));
   10731          63 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->err_data));
   10732          63 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   10733          63 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
   10734          63 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   10735             :         }
   10736         126 :         if (ndr_flags & NDR_BUFFERS) {
   10737          63 :                 if (r->id) {
   10738           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
   10739             :                 }
   10740          63 :                 if (r->err_data) {
   10741          63 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, r->err_data, r->err_ver));
   10742          63 :                         NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data));
   10743             :                 }
   10744          63 :                 if (r->objects) {
   10745          63 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   10746         126 :                         for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
   10747          63 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
   10748             :                         }
   10749         126 :                         for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
   10750          63 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
   10751             :                         }
   10752             :                 }
   10753             :         }
   10754         126 :         return NDR_ERR_SUCCESS;
   10755             : }
   10756             : 
   10757         132 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
   10758             : {
   10759             :         uint32_t _ptr_id;
   10760         132 :         TALLOC_CTX *_mem_save_id_0 = NULL;
   10761             :         uint32_t _ptr_err_data;
   10762         132 :         TALLOC_CTX *_mem_save_err_data_0 = NULL;
   10763             :         uint32_t _ptr_objects;
   10764         132 :         uint32_t size_objects_1 = 0;
   10765             :         uint32_t cntr_objects_1;
   10766         132 :         TALLOC_CTX *_mem_save_objects_0 = NULL;
   10767         132 :         TALLOC_CTX *_mem_save_objects_1 = NULL;
   10768         132 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10769         132 :         if (ndr_flags & NDR_SCALARS) {
   10770          66 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   10771          66 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
   10772          66 :                 if (_ptr_id) {
   10773           0 :                         NDR_PULL_ALLOC(ndr, r->id);
   10774             :                 } else {
   10775          66 :                         r->id = NULL;
   10776             :                 }
   10777          66 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->err_ver));
   10778          66 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_err_data));
   10779          66 :                 if (_ptr_err_data) {
   10780          66 :                         NDR_PULL_ALLOC(ndr, r->err_data);
   10781             :                 } else {
   10782           0 :                         r->err_data = NULL;
   10783             :                 }
   10784          66 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   10785          66 :                 if (r->count > 10000) {
   10786           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   10787             :                 }
   10788          66 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
   10789          66 :                 if (_ptr_objects) {
   10790          66 :                         NDR_PULL_ALLOC(ndr, r->objects);
   10791             :                 } else {
   10792           0 :                         r->objects = NULL;
   10793             :                 }
   10794          66 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   10795             :         }
   10796         132 :         if (ndr_flags & NDR_BUFFERS) {
   10797          66 :                 if (r->id) {
   10798           0 :                         _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10799           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
   10800           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
   10801           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
   10802             :                 }
   10803          66 :                 if (r->err_data) {
   10804          66 :                         _mem_save_err_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10805          66 :                         NDR_PULL_SET_MEM_CTX(ndr, r->err_data, 0);
   10806          66 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, r->err_data, r->err_ver));
   10807          66 :                         NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data));
   10808          65 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_err_data_0, 0);
   10809             :                 }
   10810          65 :                 if (r->objects) {
   10811          65 :                         _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10812          65 :                         NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
   10813          65 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
   10814          65 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->objects, &size_objects_1));
   10815          65 :                         NDR_PULL_ALLOC_N(ndr, r->objects, size_objects_1);
   10816          65 :                         _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10817          65 :                         NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
   10818         130 :                         for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
   10819          65 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
   10820             :                         }
   10821         128 :                         for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
   10822          65 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
   10823             :                         }
   10824          65 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
   10825          65 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
   10826             :                 }
   10827          65 :                 if (r->objects) {
   10828          65 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
   10829             :                 }
   10830          81 :                 for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
   10831             :                 }
   10832             :         }
   10833         126 :         return NDR_ERR_SUCCESS;
   10834             : }
   10835             : 
   10836           2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
   10837             : {
   10838             :         uint32_t cntr_objects_1;
   10839           2 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
   10840           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10841           2 :         ndr->depth++;
   10842           2 :         ndr_print_ptr(ndr, "id", r->id);
   10843           2 :         ndr->depth++;
   10844           2 :         if (r->id) {
   10845           0 :                 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
   10846             :         }
   10847           2 :         ndr->depth--;
   10848           2 :         ndr_print_uint32(ndr, "err_ver", r->err_ver);
   10849           2 :         ndr_print_ptr(ndr, "err_data", r->err_data);
   10850           2 :         ndr->depth++;
   10851           2 :         if (r->err_data) {
   10852           2 :                 ndr_print_set_switch_value(ndr, r->err_data, r->err_ver);
   10853           2 :                 ndr_print_drsuapi_DsAddEntry_ErrData(ndr, "err_data", r->err_data);
   10854             :         }
   10855           2 :         ndr->depth--;
   10856           2 :         ndr_print_uint32(ndr, "count", r->count);
   10857           2 :         ndr_print_ptr(ndr, "objects", r->objects);
   10858           2 :         ndr->depth++;
   10859           2 :         if (r->objects) {
   10860           2 :                 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
   10861           2 :                 ndr->depth++;
   10862           4 :                 for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
   10863           2 :                         ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
   10864             :                 }
   10865           2 :                 ndr->depth--;
   10866             :         }
   10867           2 :         ndr->depth--;
   10868           2 :         ndr->depth--;
   10869             : }
   10870             : 
   10871          63 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
   10872             : {
   10873             :         uint32_t level;
   10874          63 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10875          63 :         if (ndr_flags & NDR_SCALARS) {
   10876             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   10877          63 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   10878          63 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   10879          63 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
   10880          63 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   10881          63 :                 switch (level) {
   10882           0 :                         case 2: {
   10883           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
   10884           0 :                         break; }
   10885             : 
   10886          63 :                         case 3: {
   10887          63 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
   10888          63 :                         break; }
   10889             : 
   10890           0 :                         default:
   10891           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   10892             :                 }
   10893           0 :         }
   10894          63 :         if (ndr_flags & NDR_BUFFERS) {
   10895          63 :                 if (!(ndr_flags & NDR_SCALARS)) {
   10896             :                         /* We didn't get it above, and the token is not needed after this. */
   10897           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   10898             :                 }
   10899          63 :                 switch (level) {
   10900           0 :                         case 2:
   10901           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
   10902           0 :                         break;
   10903             : 
   10904          63 :                         case 3:
   10905          63 :                                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
   10906          63 :                         break;
   10907             : 
   10908           0 :                         default:
   10909           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   10910             :                 }
   10911           0 :         }
   10912          63 :         return NDR_ERR_SUCCESS;
   10913             : }
   10914             : 
   10915          66 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
   10916             : {
   10917             :         uint32_t level;
   10918             :         uint32_t _level;
   10919          66 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10920          66 :         if (ndr_flags & NDR_SCALARS) {
   10921             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   10922          66 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   10923          66 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   10924          66 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   10925          66 :                 if (_level != level) {
   10926           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   10927             :                 }
   10928          66 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   10929          66 :                 switch (level) {
   10930           0 :                         case 2: {
   10931           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
   10932           0 :                         break; }
   10933             : 
   10934          66 :                         case 3: {
   10935          66 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
   10936          63 :                         break; }
   10937             : 
   10938           0 :                         default:
   10939           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   10940             :                 }
   10941           0 :         }
   10942          66 :         if (ndr_flags & NDR_BUFFERS) {
   10943          66 :                 if (!(ndr_flags & NDR_SCALARS)) {
   10944             :                         /* We didn't get it above, and the token is not needed after this. */
   10945           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   10946             :                 }
   10947          66 :                 switch (level) {
   10948           0 :                         case 2:
   10949           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
   10950           0 :                         break;
   10951             : 
   10952          66 :                         case 3:
   10953          66 :                                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
   10954          63 :                         break;
   10955             : 
   10956           0 :                         default:
   10957           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   10958             :                 }
   10959           0 :         }
   10960          63 :         return NDR_ERR_SUCCESS;
   10961             : }
   10962             : 
   10963           2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
   10964             : {
   10965             :         uint32_t level;
   10966           2 :         level = ndr_print_steal_switch_value(ndr, r);
   10967           2 :         ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
   10968           2 :         switch (level) {
   10969           0 :                 case 2:
   10970           0 :                         ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
   10971           0 :                 break;
   10972             : 
   10973           2 :                 case 3:
   10974           2 :                         ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
   10975           2 :                 break;
   10976             : 
   10977           0 :                 default:
   10978           0 :                         ndr_print_bad_level(ndr, name, level);
   10979             :         }
   10980           2 : }
   10981             : 
   10982           2 : static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
   10983             : {
   10984           2 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
   10985           2 :         return NDR_ERR_SUCCESS;
   10986             : }
   10987             : 
   10988           2 : static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
   10989             : {
   10990             :         uint32_t v;
   10991           2 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
   10992           2 :         *r = v;
   10993           2 :         return NDR_ERR_SUCCESS;
   10994             : }
   10995             : 
   10996           0 : _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
   10997             : {
   10998           0 :         ndr_print_uint32(ndr, name, r);
   10999           0 :         ndr->depth++;
   11000           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
   11001           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
   11002           0 :         ndr->depth--;
   11003           0 : }
   11004             : 
   11005           2 : static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
   11006             : {
   11007           2 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11008           2 :         if (ndr_flags & NDR_SCALARS) {
   11009           2 :                 NDR_CHECK(ndr_push_align(ndr, 4));
   11010           2 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
   11011           2 :                 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
   11012           2 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
   11013             :         }
   11014           2 :         if (ndr_flags & NDR_BUFFERS) {
   11015             :         }
   11016           2 :         return NDR_ERR_SUCCESS;
   11017             : }
   11018             : 
   11019           2 : static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
   11020             : {
   11021           2 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11022           2 :         if (ndr_flags & NDR_SCALARS) {
   11023           2 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
   11024           2 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
   11025           2 :                 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
   11026           2 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
   11027             :         }
   11028           2 :         if (ndr_flags & NDR_BUFFERS) {
   11029             :         }
   11030           2 :         return NDR_ERR_SUCCESS;
   11031             : }
   11032             : 
   11033           0 : _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
   11034             : {
   11035           0 :         ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
   11036           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11037           0 :         ndr->depth++;
   11038           0 :         ndr_print_uint32(ndr, "taskID", r->taskID);
   11039           0 :         ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
   11040           0 :         ndr->depth--;
   11041             : }
   11042             : 
   11043           2 : static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
   11044             : {
   11045             :         uint32_t level;
   11046           2 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11047           2 :         if (ndr_flags & NDR_SCALARS) {
   11048             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   11049           2 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   11050           2 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
   11051           2 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
   11052           2 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
   11053           2 :                 switch (level) {
   11054           2 :                         case 1: {
   11055           2 :                                 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
   11056           2 :                         break; }
   11057             : 
   11058           0 :                         default:
   11059           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   11060             :                 }
   11061           0 :         }
   11062           2 :         if (ndr_flags & NDR_BUFFERS) {
   11063           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   11064             :                         /* We didn't get it above, and the token is not needed after this. */
   11065           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   11066             :                 }
   11067           0 :                 switch (level) {
   11068           0 :                         case 1:
   11069           0 :                         break;
   11070             : 
   11071           0 :                         default:
   11072           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   11073             :                 }
   11074           2 :         }
   11075           2 :         return NDR_ERR_SUCCESS;
   11076             : }
   11077             : 
   11078           2 : static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
   11079             : {
   11080             :         uint32_t level;
   11081             :         uint32_t _level;
   11082           2 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11083           2 :         if (ndr_flags & NDR_SCALARS) {
   11084             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   11085           2 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   11086           2 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
   11087           2 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   11088           2 :                 if (_level != level) {
   11089           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   11090             :                 }
   11091           2 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
   11092           2 :                 switch (level) {
   11093           2 :                         case 1: {
   11094           2 :                                 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
   11095           2 :                         break; }
   11096             : 
   11097           0 :                         default:
   11098           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   11099             :                 }
   11100           0 :         }
   11101           2 :         if (ndr_flags & NDR_BUFFERS) {
   11102           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   11103             :                         /* We didn't get it above, and the token is not needed after this. */
   11104           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   11105             :                 }
   11106           0 :                 switch (level) {
   11107           0 :                         case 1:
   11108           0 :                         break;
   11109             : 
   11110           0 :                         default:
   11111           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   11112             :                 }
   11113           2 :         }
   11114           2 :         return NDR_ERR_SUCCESS;
   11115             : }
   11116             : 
   11117           0 : _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
   11118             : {
   11119             :         uint32_t level;
   11120           0 :         level = ndr_print_steal_switch_value(ndr, r);
   11121           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
   11122           0 :         switch (level) {
   11123           0 :                 case 1:
   11124           0 :                         ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
   11125           0 :                 break;
   11126             : 
   11127           0 :                 default:
   11128           0 :                         ndr_print_bad_level(ndr, name, level);
   11129             :         }
   11130           0 : }
   11131             : 
   11132          64 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
   11133             : {
   11134          64 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
   11135          64 :         return NDR_ERR_SUCCESS;
   11136             : }
   11137             : 
   11138          32 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
   11139             : {
   11140             :         uint32_t v;
   11141          32 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
   11142          32 :         *r = v;
   11143          32 :         return NDR_ERR_SUCCESS;
   11144             : }
   11145             : 
   11146           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
   11147             : {
   11148           0 :         const char *val = NULL;
   11149             : 
   11150           0 :         switch (r) {
   11151           0 :                 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
   11152           0 :                 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
   11153             :         }
   11154           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
   11155           0 : }
   11156             : 
   11157          96 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
   11158             : {
   11159          96 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
   11160          96 :         return NDR_ERR_SUCCESS;
   11161             : }
   11162             : 
   11163          64 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
   11164             : {
   11165             :         uint32_t v;
   11166          64 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
   11167          64 :         *r = v;
   11168          64 :         return NDR_ERR_SUCCESS;
   11169             : }
   11170             : 
   11171           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
   11172             : {
   11173           0 :         const char *val = NULL;
   11174             : 
   11175           0 :         switch (r) {
   11176           0 :                 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
   11177           0 :                 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
   11178           0 :                 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
   11179           0 :                 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
   11180           0 :                 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
   11181           0 :                 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
   11182           0 :                 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
   11183           0 :                 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
   11184           0 :                 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
   11185           0 :                 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
   11186           0 :                 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
   11187           0 :                 case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
   11188           0 :                 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
   11189           0 :                 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
   11190           0 :                 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
   11191             :         }
   11192           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
   11193           0 : }
   11194             : 
   11195          64 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
   11196             : {
   11197          64 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11198          64 :         if (ndr_flags & NDR_SCALARS) {
   11199          32 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   11200          32 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
   11201          32 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
   11202          32 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
   11203          32 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   11204             :         }
   11205          64 :         if (ndr_flags & NDR_BUFFERS) {
   11206          32 :                 if (r->object_dn) {
   11207           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
   11208           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11209           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
   11210           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11211             :                 }
   11212             :         }
   11213          64 :         return NDR_ERR_SUCCESS;
   11214             : }
   11215             : 
   11216          64 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
   11217             : {
   11218             :         uint32_t _ptr_object_dn;
   11219          64 :         uint32_t size_object_dn_1 = 0;
   11220          64 :         uint32_t length_object_dn_1 = 0;
   11221          64 :         TALLOC_CTX *_mem_save_object_dn_0 = NULL;
   11222          64 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11223          64 :         if (ndr_flags & NDR_SCALARS) {
   11224          32 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   11225          32 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
   11226          32 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
   11227          32 :                 if (_ptr_object_dn) {
   11228           0 :                         NDR_PULL_ALLOC(ndr, r->object_dn);
   11229             :                 } else {
   11230          32 :                         r->object_dn = NULL;
   11231             :                 }
   11232          32 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
   11233          32 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   11234             :         }
   11235          64 :         if (ndr_flags & NDR_BUFFERS) {
   11236          32 :                 if (r->object_dn) {
   11237           0 :                         _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11238           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
   11239           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
   11240           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
   11241           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
   11242           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
   11243           0 :                         if (length_object_dn_1 > size_object_dn_1) {
   11244           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
   11245             :                         }
   11246           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
   11247           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
   11248           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
   11249             :                 }
   11250             :         }
   11251          64 :         return NDR_ERR_SUCCESS;
   11252             : }
   11253             : 
   11254           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
   11255             : {
   11256           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
   11257           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11258           0 :         ndr->depth++;
   11259           0 :         ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
   11260           0 :         ndr_print_ptr(ndr, "object_dn", r->object_dn);
   11261           0 :         ndr->depth++;
   11262           0 :         if (r->object_dn) {
   11263           0 :                 ndr_print_string(ndr, "object_dn", r->object_dn);
   11264             :         }
   11265           0 :         ndr->depth--;
   11266           0 :         ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
   11267           0 :         ndr->depth--;
   11268             : }
   11269             : 
   11270           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
   11271             : {
   11272           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11273           0 :         if (ndr_flags & NDR_SCALARS) {
   11274           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   11275           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
   11276           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
   11277           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
   11278           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
   11279           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
   11280           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
   11281           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
   11282           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   11283             :         }
   11284           0 :         if (ndr_flags & NDR_BUFFERS) {
   11285           0 :                 if (r->object_dn) {
   11286           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
   11287           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11288           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
   11289           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11290             :                 }
   11291           0 :                 if (r->attribute_name) {
   11292           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   11293           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11294           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   11295           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11296             :                 }
   11297           0 :                 if (r->value_dn_str) {
   11298           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
   11299           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11300           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
   11301           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->value_dn_str, ndr_charset_length(r->value_dn_str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11302             :                 }
   11303             :         }
   11304           0 :         return NDR_ERR_SUCCESS;
   11305             : }
   11306             : 
   11307           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
   11308             : {
   11309             :         uint32_t _ptr_object_dn;
   11310           0 :         uint32_t size_object_dn_1 = 0;
   11311           0 :         uint32_t length_object_dn_1 = 0;
   11312           0 :         TALLOC_CTX *_mem_save_object_dn_0 = NULL;
   11313             :         uint32_t _ptr_attribute_name;
   11314           0 :         uint32_t size_attribute_name_1 = 0;
   11315           0 :         uint32_t length_attribute_name_1 = 0;
   11316           0 :         TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
   11317             :         uint32_t _ptr_value_dn_str;
   11318           0 :         uint32_t size_value_dn_str_1 = 0;
   11319           0 :         uint32_t length_value_dn_str_1 = 0;
   11320           0 :         TALLOC_CTX *_mem_save_value_dn_str_0 = NULL;
   11321           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11322           0 :         if (ndr_flags & NDR_SCALARS) {
   11323           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   11324           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
   11325           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
   11326           0 :                 if (_ptr_object_dn) {
   11327           0 :                         NDR_PULL_ALLOC(ndr, r->object_dn);
   11328             :                 } else {
   11329           0 :                         r->object_dn = NULL;
   11330             :                 }
   11331           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
   11332           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
   11333           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
   11334           0 :                 if (_ptr_attribute_name) {
   11335           0 :                         NDR_PULL_ALLOC(ndr, r->attribute_name);
   11336             :                 } else {
   11337           0 :                         r->attribute_name = NULL;
   11338             :                 }
   11339           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
   11340           0 :                 if (_ptr_value_dn_str) {
   11341           0 :                         NDR_PULL_ALLOC(ndr, r->value_dn_str);
   11342             :                 } else {
   11343           0 :                         r->value_dn_str = NULL;
   11344             :                 }
   11345           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
   11346           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   11347             :         }
   11348           0 :         if (ndr_flags & NDR_BUFFERS) {
   11349           0 :                 if (r->object_dn) {
   11350           0 :                         _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11351           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
   11352           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
   11353           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
   11354           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
   11355           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
   11356           0 :                         if (length_object_dn_1 > size_object_dn_1) {
   11357           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
   11358             :                         }
   11359           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
   11360           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
   11361           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
   11362             :                 }
   11363           0 :                 if (r->attribute_name) {
   11364           0 :                         _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11365           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
   11366           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
   11367           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
   11368           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
   11369           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
   11370           0 :                         if (length_attribute_name_1 > size_attribute_name_1) {
   11371           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
   11372             :                         }
   11373           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
   11374           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
   11375           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
   11376             :                 }
   11377           0 :                 if (r->value_dn_str) {
   11378           0 :                         _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11379           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
   11380           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
   11381           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
   11382           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->value_dn_str, &size_value_dn_str_1));
   11383           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->value_dn_str, &length_value_dn_str_1));
   11384           0 :                         if (length_value_dn_str_1 > size_value_dn_str_1) {
   11385           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_value_dn_str_1, length_value_dn_str_1);
   11386             :                         }
   11387           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_value_dn_str_1, sizeof(uint16_t)));
   11388           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->value_dn_str, length_value_dn_str_1, sizeof(uint16_t), CH_UTF16));
   11389           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
   11390             :                 }
   11391             :         }
   11392           0 :         return NDR_ERR_SUCCESS;
   11393             : }
   11394             : 
   11395           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
   11396             : {
   11397           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
   11398           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11399           0 :         ndr->depth++;
   11400           0 :         ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
   11401           0 :         ndr_print_ptr(ndr, "object_dn", r->object_dn);
   11402           0 :         ndr->depth++;
   11403           0 :         if (r->object_dn) {
   11404           0 :                 ndr_print_string(ndr, "object_dn", r->object_dn);
   11405             :         }
   11406           0 :         ndr->depth--;
   11407           0 :         ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
   11408           0 :         ndr_print_uint32(ndr, "flags", r->flags);
   11409           0 :         ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
   11410           0 :         ndr->depth++;
   11411           0 :         if (r->attribute_name) {
   11412           0 :                 ndr_print_string(ndr, "attribute_name", r->attribute_name);
   11413             :         }
   11414           0 :         ndr->depth--;
   11415           0 :         ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
   11416           0 :         ndr->depth++;
   11417           0 :         if (r->value_dn_str) {
   11418           0 :                 ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
   11419             :         }
   11420           0 :         ndr->depth--;
   11421           0 :         ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
   11422           0 :         ndr->depth--;
   11423             : }
   11424             : 
   11425          32 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
   11426             : {
   11427             :         uint32_t level;
   11428          32 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11429          32 :         if (ndr_flags & NDR_SCALARS) {
   11430             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   11431          32 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   11432          32 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   11433          32 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
   11434          32 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   11435          32 :                 switch (level) {
   11436          32 :                         case DRSUAPI_DS_REPLICA_GET_INFO: {
   11437          32 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
   11438          32 :                         break; }
   11439             : 
   11440           0 :                         case DRSUAPI_DS_REPLICA_GET_INFO2: {
   11441           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
   11442           0 :                         break; }
   11443             : 
   11444           0 :                         default:
   11445           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   11446             :                 }
   11447           0 :         }
   11448          32 :         if (ndr_flags & NDR_BUFFERS) {
   11449          32 :                 if (!(ndr_flags & NDR_SCALARS)) {
   11450             :                         /* We didn't get it above, and the token is not needed after this. */
   11451           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   11452             :                 }
   11453          32 :                 switch (level) {
   11454          32 :                         case DRSUAPI_DS_REPLICA_GET_INFO:
   11455          32 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
   11456          32 :                         break;
   11457             : 
   11458           0 :                         case DRSUAPI_DS_REPLICA_GET_INFO2:
   11459           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
   11460           0 :                         break;
   11461             : 
   11462           0 :                         default:
   11463           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   11464             :                 }
   11465           0 :         }
   11466          32 :         return NDR_ERR_SUCCESS;
   11467             : }
   11468             : 
   11469          32 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
   11470             : {
   11471             :         uint32_t level;
   11472             :         uint32_t _level;
   11473          32 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11474          32 :         if (ndr_flags & NDR_SCALARS) {
   11475             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   11476          32 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   11477          32 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   11478          32 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   11479          32 :                 if (_level != level) {
   11480           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   11481             :                 }
   11482          32 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   11483          32 :                 switch (level) {
   11484          32 :                         case DRSUAPI_DS_REPLICA_GET_INFO: {
   11485          32 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
   11486          32 :                         break; }
   11487             : 
   11488           0 :                         case DRSUAPI_DS_REPLICA_GET_INFO2: {
   11489           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
   11490           0 :                         break; }
   11491             : 
   11492           0 :                         default:
   11493           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   11494             :                 }
   11495           0 :         }
   11496          32 :         if (ndr_flags & NDR_BUFFERS) {
   11497          32 :                 if (!(ndr_flags & NDR_SCALARS)) {
   11498             :                         /* We didn't get it above, and the token is not needed after this. */
   11499           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   11500             :                 }
   11501          32 :                 switch (level) {
   11502          32 :                         case DRSUAPI_DS_REPLICA_GET_INFO:
   11503          32 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
   11504          32 :                         break;
   11505             : 
   11506           0 :                         case DRSUAPI_DS_REPLICA_GET_INFO2:
   11507           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
   11508           0 :                         break;
   11509             : 
   11510           0 :                         default:
   11511           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   11512             :                 }
   11513           0 :         }
   11514          32 :         return NDR_ERR_SUCCESS;
   11515             : }
   11516             : 
   11517           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
   11518             : {
   11519             :         uint32_t level;
   11520           0 :         level = ndr_print_steal_switch_value(ndr, r);
   11521           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
   11522           0 :         switch (level) {
   11523           0 :                 case DRSUAPI_DS_REPLICA_GET_INFO:
   11524           0 :                         ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
   11525           0 :                 break;
   11526             : 
   11527           0 :                 case DRSUAPI_DS_REPLICA_GET_INFO2:
   11528           0 :                         ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
   11529           0 :                 break;
   11530             : 
   11531           0 :                 default:
   11532           0 :                         ndr_print_bad_level(ndr, name, level);
   11533             :         }
   11534           0 : }
   11535             : 
   11536         320 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
   11537             : {
   11538         320 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11539         320 :         if (ndr_flags & NDR_SCALARS) {
   11540         160 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   11541         160 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
   11542         160 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
   11543         160 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
   11544         160 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
   11545         160 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
   11546         160 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
   11547         160 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
   11548         160 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
   11549         160 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
   11550         160 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
   11551         160 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
   11552         160 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
   11553         160 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
   11554         160 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
   11555         160 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
   11556         160 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
   11557         160 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   11558             :         }
   11559         320 :         if (ndr_flags & NDR_BUFFERS) {
   11560         160 :                 if (r->naming_context_dn) {
   11561         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
   11562         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11563         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
   11564         160 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->naming_context_dn, ndr_charset_length(r->naming_context_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11565             :                 }
   11566         160 :                 if (r->source_dsa_obj_dn) {
   11567         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
   11568         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11569         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
   11570         160 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_obj_dn, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11571             :                 }
   11572         160 :                 if (r->source_dsa_address) {
   11573         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
   11574         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11575         160 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
   11576         160 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11577             :                 }
   11578         160 :                 if (r->transport_obj_dn) {
   11579           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
   11580           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11581           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
   11582           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->transport_obj_dn, ndr_charset_length(r->transport_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11583             :                 }
   11584             :         }
   11585         320 :         return NDR_ERR_SUCCESS;
   11586             : }
   11587             : 
   11588         320 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
   11589             : {
   11590             :         uint32_t _ptr_naming_context_dn;
   11591         320 :         uint32_t size_naming_context_dn_1 = 0;
   11592         320 :         uint32_t length_naming_context_dn_1 = 0;
   11593         320 :         TALLOC_CTX *_mem_save_naming_context_dn_0 = NULL;
   11594             :         uint32_t _ptr_source_dsa_obj_dn;
   11595         320 :         uint32_t size_source_dsa_obj_dn_1 = 0;
   11596         320 :         uint32_t length_source_dsa_obj_dn_1 = 0;
   11597         320 :         TALLOC_CTX *_mem_save_source_dsa_obj_dn_0 = NULL;
   11598             :         uint32_t _ptr_source_dsa_address;
   11599         320 :         uint32_t size_source_dsa_address_1 = 0;
   11600         320 :         uint32_t length_source_dsa_address_1 = 0;
   11601         320 :         TALLOC_CTX *_mem_save_source_dsa_address_0 = NULL;
   11602             :         uint32_t _ptr_transport_obj_dn;
   11603         320 :         uint32_t size_transport_obj_dn_1 = 0;
   11604         320 :         uint32_t length_transport_obj_dn_1 = 0;
   11605         320 :         TALLOC_CTX *_mem_save_transport_obj_dn_0 = NULL;
   11606         320 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11607         320 :         if (ndr_flags & NDR_SCALARS) {
   11608         160 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   11609         160 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
   11610         160 :                 if (_ptr_naming_context_dn) {
   11611         160 :                         NDR_PULL_ALLOC(ndr, r->naming_context_dn);
   11612             :                 } else {
   11613           0 :                         r->naming_context_dn = NULL;
   11614             :                 }
   11615         160 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
   11616         160 :                 if (_ptr_source_dsa_obj_dn) {
   11617         160 :                         NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
   11618             :                 } else {
   11619           0 :                         r->source_dsa_obj_dn = NULL;
   11620             :                 }
   11621         160 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
   11622         160 :                 if (_ptr_source_dsa_address) {
   11623         160 :                         NDR_PULL_ALLOC(ndr, r->source_dsa_address);
   11624             :                 } else {
   11625           0 :                         r->source_dsa_address = NULL;
   11626             :                 }
   11627         160 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
   11628         160 :                 if (_ptr_transport_obj_dn) {
   11629           0 :                         NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
   11630             :                 } else {
   11631         160 :                         r->transport_obj_dn = NULL;
   11632             :                 }
   11633         160 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
   11634         160 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
   11635         160 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
   11636         160 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
   11637         160 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
   11638         160 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
   11639         160 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
   11640         160 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
   11641         160 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
   11642         160 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
   11643         160 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
   11644         160 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
   11645         160 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   11646             :         }
   11647         320 :         if (ndr_flags & NDR_BUFFERS) {
   11648         160 :                 if (r->naming_context_dn) {
   11649         160 :                         _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11650         160 :                         NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
   11651         160 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
   11652         160 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
   11653         160 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->naming_context_dn, &size_naming_context_dn_1));
   11654         160 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->naming_context_dn, &length_naming_context_dn_1));
   11655         160 :                         if (length_naming_context_dn_1 > size_naming_context_dn_1) {
   11656           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_naming_context_dn_1, length_naming_context_dn_1);
   11657             :                         }
   11658         160 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_naming_context_dn_1, sizeof(uint16_t)));
   11659         160 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, length_naming_context_dn_1, sizeof(uint16_t), CH_UTF16));
   11660         160 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
   11661             :                 }
   11662         160 :                 if (r->source_dsa_obj_dn) {
   11663         160 :                         _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11664         160 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
   11665         160 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
   11666         160 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
   11667         160 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_obj_dn, &size_source_dsa_obj_dn_1));
   11668         160 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_obj_dn, &length_source_dsa_obj_dn_1));
   11669         160 :                         if (length_source_dsa_obj_dn_1 > size_source_dsa_obj_dn_1) {
   11670           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_obj_dn_1, length_source_dsa_obj_dn_1);
   11671             :                         }
   11672         160 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_obj_dn_1, sizeof(uint16_t)));
   11673         160 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, length_source_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
   11674         160 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
   11675             :                 }
   11676         160 :                 if (r->source_dsa_address) {
   11677         160 :                         _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11678         160 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
   11679         160 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
   11680         160 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
   11681         160 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_address, &size_source_dsa_address_1));
   11682         160 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_address, &length_source_dsa_address_1));
   11683         160 :                         if (length_source_dsa_address_1 > size_source_dsa_address_1) {
   11684           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
   11685             :                         }
   11686         160 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
   11687         160 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
   11688         160 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
   11689             :                 }
   11690         160 :                 if (r->transport_obj_dn) {
   11691           0 :                         _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11692           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
   11693           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
   11694           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
   11695           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->transport_obj_dn, &size_transport_obj_dn_1));
   11696           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->transport_obj_dn, &length_transport_obj_dn_1));
   11697           0 :                         if (length_transport_obj_dn_1 > size_transport_obj_dn_1) {
   11698           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_transport_obj_dn_1, length_transport_obj_dn_1);
   11699             :                         }
   11700           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_transport_obj_dn_1, sizeof(uint16_t)));
   11701           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, length_transport_obj_dn_1, sizeof(uint16_t), CH_UTF16));
   11702           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
   11703             :                 }
   11704             :         }
   11705         320 :         return NDR_ERR_SUCCESS;
   11706             : }
   11707             : 
   11708           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
   11709             : {
   11710           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
   11711           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11712           0 :         ndr->depth++;
   11713           0 :         ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
   11714           0 :         ndr->depth++;
   11715           0 :         if (r->naming_context_dn) {
   11716           0 :                 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
   11717             :         }
   11718           0 :         ndr->depth--;
   11719           0 :         ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
   11720           0 :         ndr->depth++;
   11721           0 :         if (r->source_dsa_obj_dn) {
   11722           0 :                 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
   11723             :         }
   11724           0 :         ndr->depth--;
   11725           0 :         ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
   11726           0 :         ndr->depth++;
   11727           0 :         if (r->source_dsa_address) {
   11728           0 :                 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
   11729             :         }
   11730           0 :         ndr->depth--;
   11731           0 :         ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
   11732           0 :         ndr->depth++;
   11733           0 :         if (r->transport_obj_dn) {
   11734           0 :                 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
   11735             :         }
   11736           0 :         ndr->depth--;
   11737           0 :         ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
   11738           0 :         ndr_print_uint32(ndr, "reserved", r->reserved);
   11739           0 :         ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
   11740           0 :         ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
   11741           0 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
   11742           0 :         ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
   11743           0 :         ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
   11744           0 :         ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
   11745           0 :         ndr_print_NTTIME(ndr, "last_success", r->last_success);
   11746           0 :         ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
   11747           0 :         ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
   11748           0 :         ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
   11749           0 :         ndr->depth--;
   11750             : }
   11751             : 
   11752          32 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
   11753             : {
   11754             :         uint32_t cntr_array_0;
   11755          32 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11756          32 :         if (ndr_flags & NDR_SCALARS) {
   11757          32 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   11758          32 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   11759          32 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   11760          32 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
   11761         192 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   11762         160 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   11763             :                 }
   11764          32 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   11765             :         }
   11766          32 :         if (ndr_flags & NDR_BUFFERS) {
   11767         192 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   11768         160 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   11769             :                 }
   11770             :         }
   11771          32 :         return NDR_ERR_SUCCESS;
   11772             : }
   11773             : 
   11774          32 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
   11775             : {
   11776          32 :         uint32_t size_array_0 = 0;
   11777             :         uint32_t cntr_array_0;
   11778          32 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   11779          32 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11780          32 :         if (ndr_flags & NDR_SCALARS) {
   11781          32 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   11782          32 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   11783          32 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   11784          32 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
   11785          32 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   11786          32 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   11787          32 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11788          32 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   11789         192 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   11790         160 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   11791             :                 }
   11792          32 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   11793          32 :                 if (r->array) {
   11794          32 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   11795             :                 }
   11796          32 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   11797             :         }
   11798          32 :         if (ndr_flags & NDR_BUFFERS) {
   11799          32 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   11800          32 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11801          32 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   11802         192 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   11803         160 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   11804             :                 }
   11805          32 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   11806          32 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   11807             :                 }
   11808             :         }
   11809          32 :         return NDR_ERR_SUCCESS;
   11810             : }
   11811             : 
   11812           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
   11813             : {
   11814             :         uint32_t cntr_array_0;
   11815           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
   11816           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11817           0 :         ndr->depth++;
   11818           0 :         ndr_print_uint32(ndr, "count", r->count);
   11819           0 :         ndr_print_uint32(ndr, "reserved", r->reserved);
   11820           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   11821           0 :         ndr->depth++;
   11822           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   11823           0 :                 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
   11824             :         }
   11825           0 :         ndr->depth--;
   11826           0 :         ndr->depth--;
   11827             : }
   11828             : 
   11829           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
   11830             : {
   11831             :         uint32_t cntr_array_0;
   11832           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11833           0 :         if (ndr_flags & NDR_SCALARS) {
   11834           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   11835           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   11836           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   11837           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
   11838           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   11839           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   11840             :                 }
   11841           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   11842             :         }
   11843           0 :         if (ndr_flags & NDR_BUFFERS) {
   11844             :         }
   11845           0 :         return NDR_ERR_SUCCESS;
   11846             : }
   11847             : 
   11848           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
   11849             : {
   11850           0 :         uint32_t size_array_0 = 0;
   11851             :         uint32_t cntr_array_0;
   11852           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   11853           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11854           0 :         if (ndr_flags & NDR_SCALARS) {
   11855           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   11856           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   11857           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   11858           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
   11859           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   11860           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   11861           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11862           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   11863           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   11864           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   11865             :                 }
   11866           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   11867           0 :                 if (r->array) {
   11868           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->array, r->count));
   11869             :                 }
   11870           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   11871             :         }
   11872           0 :         if (ndr_flags & NDR_BUFFERS) {
   11873             :         }
   11874           0 :         return NDR_ERR_SUCCESS;
   11875             : }
   11876             : 
   11877           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
   11878             : {
   11879             :         uint32_t cntr_array_0;
   11880           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
   11881           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11882           0 :         ndr->depth++;
   11883           0 :         ndr_print_uint32(ndr, "count", r->count);
   11884           0 :         ndr_print_uint32(ndr, "reserved", r->reserved);
   11885           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   11886           0 :         ndr->depth++;
   11887           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   11888           0 :                 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
   11889             :         }
   11890           0 :         ndr->depth--;
   11891           0 :         ndr->depth--;
   11892             : }
   11893             : 
   11894           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
   11895             : {
   11896           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11897           0 :         if (ndr_flags & NDR_SCALARS) {
   11898           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   11899           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
   11900           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
   11901           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
   11902           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
   11903           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
   11904           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
   11905           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   11906             :         }
   11907           0 :         if (ndr_flags & NDR_BUFFERS) {
   11908           0 :                 if (r->attribute_name) {
   11909           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   11910           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11911           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   11912           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11913             :                 }
   11914             :         }
   11915           0 :         return NDR_ERR_SUCCESS;
   11916             : }
   11917             : 
   11918           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
   11919             : {
   11920             :         uint32_t _ptr_attribute_name;
   11921           0 :         uint32_t size_attribute_name_1 = 0;
   11922           0 :         uint32_t length_attribute_name_1 = 0;
   11923           0 :         TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
   11924           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   11925           0 :         if (ndr_flags & NDR_SCALARS) {
   11926           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   11927           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
   11928           0 :                 if (_ptr_attribute_name) {
   11929           0 :                         NDR_PULL_ALLOC(ndr, r->attribute_name);
   11930             :                 } else {
   11931           0 :                         r->attribute_name = NULL;
   11932             :                 }
   11933           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
   11934           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
   11935           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
   11936           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
   11937           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
   11938           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   11939             :         }
   11940           0 :         if (ndr_flags & NDR_BUFFERS) {
   11941           0 :                 if (r->attribute_name) {
   11942           0 :                         _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11943           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
   11944           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
   11945           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
   11946           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
   11947           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
   11948           0 :                         if (length_attribute_name_1 > size_attribute_name_1) {
   11949           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
   11950             :                         }
   11951           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
   11952           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
   11953           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
   11954             :                 }
   11955             :         }
   11956           0 :         return NDR_ERR_SUCCESS;
   11957             : }
   11958             : 
   11959           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
   11960             : {
   11961           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
   11962           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11963           0 :         ndr->depth++;
   11964           0 :         ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
   11965           0 :         ndr->depth++;
   11966           0 :         if (r->attribute_name) {
   11967           0 :                 ndr_print_string(ndr, "attribute_name", r->attribute_name);
   11968             :         }
   11969           0 :         ndr->depth--;
   11970           0 :         ndr_print_uint32(ndr, "version", r->version);
   11971           0 :         ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
   11972           0 :         ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
   11973           0 :         ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
   11974           0 :         ndr_print_hyper(ndr, "local_usn", r->local_usn);
   11975           0 :         ndr->depth--;
   11976             : }
   11977             : 
   11978           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
   11979             : {
   11980             :         uint32_t cntr_array_0;
   11981           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   11982           0 :         if (ndr_flags & NDR_SCALARS) {
   11983           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   11984           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   11985           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   11986           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
   11987           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   11988           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   11989             :                 }
   11990           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   11991             :         }
   11992           0 :         if (ndr_flags & NDR_BUFFERS) {
   11993           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   11994           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   11995             :                 }
   11996             :         }
   11997           0 :         return NDR_ERR_SUCCESS;
   11998             : }
   11999             : 
   12000           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
   12001             : {
   12002           0 :         uint32_t size_array_0 = 0;
   12003             :         uint32_t cntr_array_0;
   12004           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   12005           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12006           0 :         if (ndr_flags & NDR_SCALARS) {
   12007           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   12008           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   12009           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   12010           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
   12011           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12012           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   12013           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12014           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12015           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12016           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12017             :                 }
   12018           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12019           0 :                 if (r->array) {
   12020           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   12021             :                 }
   12022           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   12023             :         }
   12024           0 :         if (ndr_flags & NDR_BUFFERS) {
   12025           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12026           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12027           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12028           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12029           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12030             :                 }
   12031           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12032           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12033             :                 }
   12034             :         }
   12035           0 :         return NDR_ERR_SUCCESS;
   12036             : }
   12037             : 
   12038           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
   12039             : {
   12040             :         uint32_t cntr_array_0;
   12041           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
   12042           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12043           0 :         ndr->depth++;
   12044           0 :         ndr_print_uint32(ndr, "count", r->count);
   12045           0 :         ndr_print_uint32(ndr, "reserved", r->reserved);
   12046           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   12047           0 :         ndr->depth++;
   12048           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12049           0 :                 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
   12050             :         }
   12051           0 :         ndr->depth--;
   12052           0 :         ndr->depth--;
   12053             : }
   12054             : 
   12055           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
   12056             : {
   12057           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12058           0 :         if (ndr_flags & NDR_SCALARS) {
   12059           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   12060           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
   12061           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
   12062           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
   12063           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
   12064           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
   12065           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   12066             :         }
   12067           0 :         if (ndr_flags & NDR_BUFFERS) {
   12068           0 :                 if (r->dsa_obj_dn) {
   12069           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
   12070           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12071           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
   12072           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dsa_obj_dn, ndr_charset_length(r->dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12073             :                 }
   12074             :         }
   12075           0 :         return NDR_ERR_SUCCESS;
   12076             : }
   12077             : 
   12078           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
   12079             : {
   12080             :         uint32_t _ptr_dsa_obj_dn;
   12081           0 :         uint32_t size_dsa_obj_dn_1 = 0;
   12082           0 :         uint32_t length_dsa_obj_dn_1 = 0;
   12083           0 :         TALLOC_CTX *_mem_save_dsa_obj_dn_0 = NULL;
   12084           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12085           0 :         if (ndr_flags & NDR_SCALARS) {
   12086           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   12087           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
   12088           0 :                 if (_ptr_dsa_obj_dn) {
   12089           0 :                         NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
   12090             :                 } else {
   12091           0 :                         r->dsa_obj_dn = NULL;
   12092             :                 }
   12093           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
   12094           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
   12095           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
   12096           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
   12097           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   12098             :         }
   12099           0 :         if (ndr_flags & NDR_BUFFERS) {
   12100           0 :                 if (r->dsa_obj_dn) {
   12101           0 :                         _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12102           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
   12103           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
   12104           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
   12105           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dsa_obj_dn, &size_dsa_obj_dn_1));
   12106           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dsa_obj_dn, &length_dsa_obj_dn_1));
   12107           0 :                         if (length_dsa_obj_dn_1 > size_dsa_obj_dn_1) {
   12108           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dsa_obj_dn_1, length_dsa_obj_dn_1);
   12109             :                         }
   12110           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dsa_obj_dn_1, sizeof(uint16_t)));
   12111           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, length_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
   12112           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
   12113             :                 }
   12114             :         }
   12115           0 :         return NDR_ERR_SUCCESS;
   12116             : }
   12117             : 
   12118           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
   12119             : {
   12120           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
   12121           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12122           0 :         ndr->depth++;
   12123           0 :         ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
   12124           0 :         ndr->depth++;
   12125           0 :         if (r->dsa_obj_dn) {
   12126           0 :                 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
   12127             :         }
   12128           0 :         ndr->depth--;
   12129           0 :         ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
   12130           0 :         ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
   12131           0 :         ndr_print_uint32(ndr, "num_failures", r->num_failures);
   12132           0 :         ndr_print_WERROR(ndr, "last_result", r->last_result);
   12133           0 :         ndr->depth--;
   12134             : }
   12135             : 
   12136           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
   12137             : {
   12138             :         uint32_t cntr_array_0;
   12139           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12140           0 :         if (ndr_flags & NDR_SCALARS) {
   12141           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   12142           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   12143           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   12144           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
   12145           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12146           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12147             :                 }
   12148           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   12149             :         }
   12150           0 :         if (ndr_flags & NDR_BUFFERS) {
   12151           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12152           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12153             :                 }
   12154             :         }
   12155           0 :         return NDR_ERR_SUCCESS;
   12156             : }
   12157             : 
   12158           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
   12159             : {
   12160           0 :         uint32_t size_array_0 = 0;
   12161             :         uint32_t cntr_array_0;
   12162           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   12163           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12164           0 :         if (ndr_flags & NDR_SCALARS) {
   12165           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   12166           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   12167           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   12168           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
   12169           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12170           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   12171           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12172           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12173           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12174           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12175             :                 }
   12176           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12177           0 :                 if (r->array) {
   12178           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   12179             :                 }
   12180           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   12181             :         }
   12182           0 :         if (ndr_flags & NDR_BUFFERS) {
   12183           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12184           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12185           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12186           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12187           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12188             :                 }
   12189           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12190           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12191             :                 }
   12192             :         }
   12193           0 :         return NDR_ERR_SUCCESS;
   12194             : }
   12195             : 
   12196           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
   12197             : {
   12198             :         uint32_t cntr_array_0;
   12199           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
   12200           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12201           0 :         ndr->depth++;
   12202           0 :         ndr_print_uint32(ndr, "count", r->count);
   12203           0 :         ndr_print_uint32(ndr, "reserved", r->reserved);
   12204           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   12205           0 :         ndr->depth++;
   12206           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12207           0 :                 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
   12208             :         }
   12209           0 :         ndr->depth--;
   12210           0 :         ndr->depth--;
   12211             : }
   12212             : 
   12213           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
   12214             : {
   12215           0 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
   12216           0 :         return NDR_ERR_SUCCESS;
   12217             : }
   12218             : 
   12219           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
   12220             : {
   12221             :         uint16_t v;
   12222           0 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
   12223           0 :         *r = v;
   12224           0 :         return NDR_ERR_SUCCESS;
   12225             : }
   12226             : 
   12227           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
   12228             : {
   12229           0 :         const char *val = NULL;
   12230             : 
   12231           0 :         switch (r) {
   12232           0 :                 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
   12233           0 :                 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
   12234           0 :                 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
   12235           0 :                 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
   12236           0 :                 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
   12237             :         }
   12238           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
   12239           0 : }
   12240             : 
   12241           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
   12242             : {
   12243           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12244           0 :         if (ndr_flags & NDR_SCALARS) {
   12245           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   12246           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
   12247           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
   12248           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
   12249           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
   12250           0 :                 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
   12251           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
   12252           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
   12253           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
   12254           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
   12255           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
   12256           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   12257             :         }
   12258           0 :         if (ndr_flags & NDR_BUFFERS) {
   12259           0 :                 if (r->nc_dn) {
   12260           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
   12261           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12262           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
   12263           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12264             :                 }
   12265           0 :                 if (r->remote_dsa_obj_dn) {
   12266           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
   12267           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12268           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
   12269           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_dsa_obj_dn, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12270             :                 }
   12271           0 :                 if (r->remote_dsa_address) {
   12272           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
   12273           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12274           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
   12275           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_dsa_address, ndr_charset_length(r->remote_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12276             :                 }
   12277             :         }
   12278           0 :         return NDR_ERR_SUCCESS;
   12279             : }
   12280             : 
   12281           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
   12282             : {
   12283             :         uint32_t _ptr_nc_dn;
   12284           0 :         uint32_t size_nc_dn_1 = 0;
   12285           0 :         uint32_t length_nc_dn_1 = 0;
   12286           0 :         TALLOC_CTX *_mem_save_nc_dn_0 = NULL;
   12287             :         uint32_t _ptr_remote_dsa_obj_dn;
   12288           0 :         uint32_t size_remote_dsa_obj_dn_1 = 0;
   12289           0 :         uint32_t length_remote_dsa_obj_dn_1 = 0;
   12290           0 :         TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0 = NULL;
   12291             :         uint32_t _ptr_remote_dsa_address;
   12292           0 :         uint32_t size_remote_dsa_address_1 = 0;
   12293           0 :         uint32_t length_remote_dsa_address_1 = 0;
   12294           0 :         TALLOC_CTX *_mem_save_remote_dsa_address_0 = NULL;
   12295           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12296           0 :         if (ndr_flags & NDR_SCALARS) {
   12297           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   12298           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
   12299           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
   12300           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
   12301           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
   12302           0 :                 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
   12303           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
   12304           0 :                 if (_ptr_nc_dn) {
   12305           0 :                         NDR_PULL_ALLOC(ndr, r->nc_dn);
   12306             :                 } else {
   12307           0 :                         r->nc_dn = NULL;
   12308             :                 }
   12309           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
   12310           0 :                 if (_ptr_remote_dsa_obj_dn) {
   12311           0 :                         NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
   12312             :                 } else {
   12313           0 :                         r->remote_dsa_obj_dn = NULL;
   12314             :                 }
   12315           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
   12316           0 :                 if (_ptr_remote_dsa_address) {
   12317           0 :                         NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
   12318             :                 } else {
   12319           0 :                         r->remote_dsa_address = NULL;
   12320             :                 }
   12321           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
   12322           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
   12323           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   12324             :         }
   12325           0 :         if (ndr_flags & NDR_BUFFERS) {
   12326           0 :                 if (r->nc_dn) {
   12327           0 :                         _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12328           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
   12329           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
   12330           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
   12331           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->nc_dn, &size_nc_dn_1));
   12332           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->nc_dn, &length_nc_dn_1));
   12333           0 :                         if (length_nc_dn_1 > size_nc_dn_1) {
   12334           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_nc_dn_1, length_nc_dn_1);
   12335             :                         }
   12336           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_nc_dn_1, sizeof(uint16_t)));
   12337           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, length_nc_dn_1, sizeof(uint16_t), CH_UTF16));
   12338           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
   12339             :                 }
   12340           0 :                 if (r->remote_dsa_obj_dn) {
   12341           0 :                         _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12342           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
   12343           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
   12344           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
   12345           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_dsa_obj_dn, &size_remote_dsa_obj_dn_1));
   12346           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_dsa_obj_dn, &length_remote_dsa_obj_dn_1));
   12347           0 :                         if (length_remote_dsa_obj_dn_1 > size_remote_dsa_obj_dn_1) {
   12348           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_dsa_obj_dn_1, length_remote_dsa_obj_dn_1);
   12349             :                         }
   12350           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_dsa_obj_dn_1, sizeof(uint16_t)));
   12351           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, length_remote_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
   12352           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
   12353             :                 }
   12354           0 :                 if (r->remote_dsa_address) {
   12355           0 :                         _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12356           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
   12357           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
   12358           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
   12359           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_dsa_address, &size_remote_dsa_address_1));
   12360           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_dsa_address, &length_remote_dsa_address_1));
   12361           0 :                         if (length_remote_dsa_address_1 > size_remote_dsa_address_1) {
   12362           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_dsa_address_1, length_remote_dsa_address_1);
   12363             :                         }
   12364           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_dsa_address_1, sizeof(uint16_t)));
   12365           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, length_remote_dsa_address_1, sizeof(uint16_t), CH_UTF16));
   12366           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
   12367             :                 }
   12368             :         }
   12369           0 :         return NDR_ERR_SUCCESS;
   12370             : }
   12371             : 
   12372           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
   12373             : {
   12374           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
   12375           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12376           0 :         ndr->depth++;
   12377           0 :         ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
   12378           0 :         ndr_print_uint32(ndr, "serial_num", r->serial_num);
   12379           0 :         ndr_print_uint32(ndr, "priority", r->priority);
   12380           0 :         ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
   12381           0 :         ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
   12382           0 :         ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
   12383           0 :         ndr->depth++;
   12384           0 :         if (r->nc_dn) {
   12385           0 :                 ndr_print_string(ndr, "nc_dn", r->nc_dn);
   12386             :         }
   12387           0 :         ndr->depth--;
   12388           0 :         ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
   12389           0 :         ndr->depth++;
   12390           0 :         if (r->remote_dsa_obj_dn) {
   12391           0 :                 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
   12392             :         }
   12393           0 :         ndr->depth--;
   12394           0 :         ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
   12395           0 :         ndr->depth++;
   12396           0 :         if (r->remote_dsa_address) {
   12397           0 :                 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
   12398             :         }
   12399           0 :         ndr->depth--;
   12400           0 :         ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
   12401           0 :         ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
   12402           0 :         ndr->depth--;
   12403             : }
   12404             : 
   12405           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
   12406             : {
   12407             :         uint32_t cntr_array_0;
   12408           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12409           0 :         if (ndr_flags & NDR_SCALARS) {
   12410           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   12411           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   12412           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
   12413           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   12414           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12415           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12416             :                 }
   12417           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   12418             :         }
   12419           0 :         if (ndr_flags & NDR_BUFFERS) {
   12420           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12421           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12422             :                 }
   12423             :         }
   12424           0 :         return NDR_ERR_SUCCESS;
   12425             : }
   12426             : 
   12427           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
   12428             : {
   12429           0 :         uint32_t size_array_0 = 0;
   12430             :         uint32_t cntr_array_0;
   12431           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   12432           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12433           0 :         if (ndr_flags & NDR_SCALARS) {
   12434           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   12435           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   12436           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
   12437           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   12438           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12439           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   12440           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12441           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12442           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12443           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12444             :                 }
   12445           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12446           0 :                 if (r->array) {
   12447           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   12448             :                 }
   12449           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   12450             :         }
   12451           0 :         if (ndr_flags & NDR_BUFFERS) {
   12452           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12453           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12454           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12455           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12456           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12457             :                 }
   12458           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12459           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12460             :                 }
   12461             :         }
   12462           0 :         return NDR_ERR_SUCCESS;
   12463             : }
   12464             : 
   12465           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
   12466             : {
   12467             :         uint32_t cntr_array_0;
   12468           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
   12469           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12470           0 :         ndr->depth++;
   12471           0 :         ndr_print_NTTIME(ndr, "time", r->time);
   12472           0 :         ndr_print_uint32(ndr, "count", r->count);
   12473           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   12474           0 :         ndr->depth++;
   12475           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12476           0 :                 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
   12477             :         }
   12478           0 :         ndr->depth--;
   12479           0 :         ndr->depth--;
   12480             : }
   12481             : 
   12482           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
   12483             : {
   12484           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12485           0 :         if (ndr_flags & NDR_SCALARS) {
   12486           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   12487           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
   12488           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
   12489           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
   12490           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
   12491           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
   12492           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
   12493           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
   12494           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
   12495           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
   12496           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
   12497           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
   12498           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   12499             :         }
   12500           0 :         if (ndr_flags & NDR_BUFFERS) {
   12501           0 :                 if (r->attribute_name) {
   12502           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   12503           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12504           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   12505           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12506             :                 }
   12507           0 :                 if (r->object_dn) {
   12508           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
   12509           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12510           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
   12511           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12512             :                 }
   12513           0 :                 if (r->binary) {
   12514           0 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
   12515             :                 }
   12516             :         }
   12517           0 :         return NDR_ERR_SUCCESS;
   12518             : }
   12519             : 
   12520           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
   12521             : {
   12522             :         uint32_t _ptr_attribute_name;
   12523           0 :         uint32_t size_attribute_name_1 = 0;
   12524           0 :         uint32_t length_attribute_name_1 = 0;
   12525           0 :         TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
   12526             :         uint32_t _ptr_object_dn;
   12527           0 :         uint32_t size_object_dn_1 = 0;
   12528           0 :         uint32_t length_object_dn_1 = 0;
   12529           0 :         TALLOC_CTX *_mem_save_object_dn_0 = NULL;
   12530             :         uint32_t _ptr_binary;
   12531           0 :         TALLOC_CTX *_mem_save_binary_0 = NULL;
   12532           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12533           0 :         if (ndr_flags & NDR_SCALARS) {
   12534           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   12535           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
   12536           0 :                 if (_ptr_attribute_name) {
   12537           0 :                         NDR_PULL_ALLOC(ndr, r->attribute_name);
   12538             :                 } else {
   12539           0 :                         r->attribute_name = NULL;
   12540             :                 }
   12541           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
   12542           0 :                 if (_ptr_object_dn) {
   12543           0 :                         NDR_PULL_ALLOC(ndr, r->object_dn);
   12544             :                 } else {
   12545           0 :                         r->object_dn = NULL;
   12546             :                 }
   12547           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
   12548           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
   12549           0 :                 if (_ptr_binary) {
   12550           0 :                         NDR_PULL_ALLOC(ndr, r->binary);
   12551             :                 } else {
   12552           0 :                         r->binary = NULL;
   12553             :                 }
   12554           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
   12555           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
   12556           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
   12557           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
   12558           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
   12559           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
   12560           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
   12561           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   12562             :         }
   12563           0 :         if (ndr_flags & NDR_BUFFERS) {
   12564           0 :                 if (r->attribute_name) {
   12565           0 :                         _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12566           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
   12567           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
   12568           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
   12569           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
   12570           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
   12571           0 :                         if (length_attribute_name_1 > size_attribute_name_1) {
   12572           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
   12573             :                         }
   12574           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
   12575           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
   12576           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
   12577             :                 }
   12578           0 :                 if (r->object_dn) {
   12579           0 :                         _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12580           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
   12581           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
   12582           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
   12583           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
   12584           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
   12585           0 :                         if (length_object_dn_1 > size_object_dn_1) {
   12586           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
   12587             :                         }
   12588           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
   12589           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
   12590           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
   12591             :                 }
   12592           0 :                 if (r->binary) {
   12593           0 :                         _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12594           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
   12595           0 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
   12596           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
   12597             :                 }
   12598             :         }
   12599           0 :         return NDR_ERR_SUCCESS;
   12600             : }
   12601             : 
   12602           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
   12603             : {
   12604           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
   12605           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12606           0 :         ndr->depth++;
   12607           0 :         ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
   12608           0 :         ndr->depth++;
   12609           0 :         if (r->attribute_name) {
   12610           0 :                 ndr_print_string(ndr, "attribute_name", r->attribute_name);
   12611             :         }
   12612           0 :         ndr->depth--;
   12613           0 :         ndr_print_ptr(ndr, "object_dn", r->object_dn);
   12614           0 :         ndr->depth++;
   12615           0 :         if (r->object_dn) {
   12616           0 :                 ndr_print_string(ndr, "object_dn", r->object_dn);
   12617             :         }
   12618           0 :         ndr->depth--;
   12619           0 :         ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->binary, 0):r->__ndr_size_binary);
   12620           0 :         ndr_print_ptr(ndr, "binary", r->binary);
   12621           0 :         ndr->depth++;
   12622           0 :         if (r->binary) {
   12623           0 :                 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
   12624             :         }
   12625           0 :         ndr->depth--;
   12626           0 :         ndr_print_NTTIME(ndr, "deleted", r->deleted);
   12627           0 :         ndr_print_NTTIME(ndr, "created", r->created);
   12628           0 :         ndr_print_uint32(ndr, "version", r->version);
   12629           0 :         ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
   12630           0 :         ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
   12631           0 :         ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
   12632           0 :         ndr_print_hyper(ndr, "local_usn", r->local_usn);
   12633           0 :         ndr->depth--;
   12634             : }
   12635             : 
   12636           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
   12637             : {
   12638             :         uint32_t cntr_array_0;
   12639           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12640           0 :         if (ndr_flags & NDR_SCALARS) {
   12641           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   12642           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   12643           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   12644           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
   12645           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12646           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12647             :                 }
   12648           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   12649             :         }
   12650           0 :         if (ndr_flags & NDR_BUFFERS) {
   12651           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12652           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12653             :                 }
   12654             :         }
   12655           0 :         return NDR_ERR_SUCCESS;
   12656             : }
   12657             : 
   12658           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
   12659             : {
   12660           0 :         uint32_t size_array_0 = 0;
   12661             :         uint32_t cntr_array_0;
   12662           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   12663           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12664           0 :         if (ndr_flags & NDR_SCALARS) {
   12665           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   12666           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   12667           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   12668           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
   12669           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12670           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   12671           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12672           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12673           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12674           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12675             :                 }
   12676           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12677           0 :                 if (r->array) {
   12678           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   12679             :                 }
   12680           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   12681             :         }
   12682           0 :         if (ndr_flags & NDR_BUFFERS) {
   12683           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12684           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12685           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12686           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12687           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12688             :                 }
   12689           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12690           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12691             :                 }
   12692             :         }
   12693           0 :         return NDR_ERR_SUCCESS;
   12694             : }
   12695             : 
   12696           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
   12697             : {
   12698             :         uint32_t cntr_array_0;
   12699           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
   12700           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12701           0 :         ndr->depth++;
   12702           0 :         ndr_print_uint32(ndr, "count", r->count);
   12703           0 :         ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
   12704           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   12705           0 :         ndr->depth++;
   12706           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12707           0 :                 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
   12708             :         }
   12709           0 :         ndr->depth--;
   12710           0 :         ndr->depth--;
   12711             : }
   12712             : 
   12713           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
   12714             : {
   12715             :         uint32_t cntr_array_0;
   12716           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12717           0 :         if (ndr_flags & NDR_SCALARS) {
   12718           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   12719           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   12720           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   12721           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
   12722           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12723           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12724             :                 }
   12725           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   12726             :         }
   12727           0 :         if (ndr_flags & NDR_BUFFERS) {
   12728             :         }
   12729           0 :         return NDR_ERR_SUCCESS;
   12730             : }
   12731             : 
   12732           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
   12733             : {
   12734           0 :         uint32_t size_array_0 = 0;
   12735             :         uint32_t cntr_array_0;
   12736           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   12737           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12738           0 :         if (ndr_flags & NDR_SCALARS) {
   12739           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   12740           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   12741           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   12742           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
   12743           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12744           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   12745           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12746           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12747           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12748           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12749             :                 }
   12750           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12751           0 :                 if (r->array) {
   12752           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->array, r->count));
   12753             :                 }
   12754           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   12755             :         }
   12756           0 :         if (ndr_flags & NDR_BUFFERS) {
   12757             :         }
   12758           0 :         return NDR_ERR_SUCCESS;
   12759             : }
   12760             : 
   12761           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
   12762             : {
   12763             :         uint32_t cntr_array_0;
   12764           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
   12765           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12766           0 :         ndr->depth++;
   12767           0 :         ndr_print_uint32(ndr, "count", r->count);
   12768           0 :         ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
   12769           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   12770           0 :         ndr->depth++;
   12771           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12772           0 :                 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
   12773             :         }
   12774           0 :         ndr->depth--;
   12775           0 :         ndr->depth--;
   12776             : }
   12777             : 
   12778           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
   12779             : {
   12780           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12781           0 :         if (ndr_flags & NDR_SCALARS) {
   12782           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   12783           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
   12784           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
   12785           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
   12786           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
   12787           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   12788             :         }
   12789           0 :         if (ndr_flags & NDR_BUFFERS) {
   12790           0 :                 if (r->source_dsa_obj_dn) {
   12791           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
   12792           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12793           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
   12794           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_obj_dn, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12795             :                 }
   12796             :         }
   12797           0 :         return NDR_ERR_SUCCESS;
   12798             : }
   12799             : 
   12800           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
   12801             : {
   12802             :         uint32_t _ptr_source_dsa_obj_dn;
   12803           0 :         uint32_t size_source_dsa_obj_dn_1 = 0;
   12804           0 :         uint32_t length_source_dsa_obj_dn_1 = 0;
   12805           0 :         TALLOC_CTX *_mem_save_source_dsa_obj_dn_0 = NULL;
   12806           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12807           0 :         if (ndr_flags & NDR_SCALARS) {
   12808           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   12809           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
   12810           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
   12811           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
   12812           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
   12813           0 :                 if (_ptr_source_dsa_obj_dn) {
   12814           0 :                         NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
   12815             :                 } else {
   12816           0 :                         r->source_dsa_obj_dn = NULL;
   12817             :                 }
   12818           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   12819             :         }
   12820           0 :         if (ndr_flags & NDR_BUFFERS) {
   12821           0 :                 if (r->source_dsa_obj_dn) {
   12822           0 :                         _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12823           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
   12824           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
   12825           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
   12826           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_obj_dn, &size_source_dsa_obj_dn_1));
   12827           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_obj_dn, &length_source_dsa_obj_dn_1));
   12828           0 :                         if (length_source_dsa_obj_dn_1 > size_source_dsa_obj_dn_1) {
   12829           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_obj_dn_1, length_source_dsa_obj_dn_1);
   12830             :                         }
   12831           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_obj_dn_1, sizeof(uint16_t)));
   12832           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, length_source_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
   12833           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
   12834             :                 }
   12835             :         }
   12836           0 :         return NDR_ERR_SUCCESS;
   12837             : }
   12838             : 
   12839           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
   12840             : {
   12841           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
   12842           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12843           0 :         ndr->depth++;
   12844           0 :         ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
   12845           0 :         ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
   12846           0 :         ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
   12847           0 :         ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
   12848           0 :         ndr->depth++;
   12849           0 :         if (r->source_dsa_obj_dn) {
   12850           0 :                 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
   12851             :         }
   12852           0 :         ndr->depth--;
   12853           0 :         ndr->depth--;
   12854             : }
   12855             : 
   12856           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
   12857             : {
   12858             :         uint32_t cntr_array_0;
   12859           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12860           0 :         if (ndr_flags & NDR_SCALARS) {
   12861           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   12862           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   12863           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   12864           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
   12865           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12866           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12867             :                 }
   12868           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   12869             :         }
   12870           0 :         if (ndr_flags & NDR_BUFFERS) {
   12871           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12872           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12873             :                 }
   12874             :         }
   12875           0 :         return NDR_ERR_SUCCESS;
   12876             : }
   12877             : 
   12878           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
   12879             : {
   12880           0 :         uint32_t size_array_0 = 0;
   12881             :         uint32_t cntr_array_0;
   12882           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   12883           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12884           0 :         if (ndr_flags & NDR_SCALARS) {
   12885           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   12886           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   12887           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   12888           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
   12889           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12890           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   12891           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12892           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12893           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12894           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   12895             :                 }
   12896           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12897           0 :                 if (r->array) {
   12898           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   12899             :                 }
   12900           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   12901             :         }
   12902           0 :         if (ndr_flags & NDR_BUFFERS) {
   12903           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   12904           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12905           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   12906           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12907           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   12908             :                 }
   12909           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   12910           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   12911             :                 }
   12912             :         }
   12913           0 :         return NDR_ERR_SUCCESS;
   12914             : }
   12915             : 
   12916           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
   12917             : {
   12918             :         uint32_t cntr_array_0;
   12919           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
   12920           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12921           0 :         ndr->depth++;
   12922           0 :         ndr_print_uint32(ndr, "count", r->count);
   12923           0 :         ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
   12924           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   12925           0 :         ndr->depth++;
   12926           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   12927           0 :                 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
   12928             :         }
   12929           0 :         ndr->depth--;
   12930           0 :         ndr->depth--;
   12931             : }
   12932             : 
   12933           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
   12934             : {
   12935           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   12936           0 :         if (ndr_flags & NDR_SCALARS) {
   12937           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   12938           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
   12939           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
   12940           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
   12941           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
   12942           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
   12943           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
   12944           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
   12945           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   12946             :         }
   12947           0 :         if (ndr_flags & NDR_BUFFERS) {
   12948           0 :                 if (r->attribute_name) {
   12949           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   12950           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12951           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   12952           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12953             :                 }
   12954           0 :                 if (r->originating_dsa_dn) {
   12955           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
   12956           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12957           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
   12958           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->originating_dsa_dn, ndr_charset_length(r->originating_dsa_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12959             :                 }
   12960             :         }
   12961           0 :         return NDR_ERR_SUCCESS;
   12962             : }
   12963             : 
   12964           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
   12965             : {
   12966             :         uint32_t _ptr_attribute_name;
   12967           0 :         uint32_t size_attribute_name_1 = 0;
   12968           0 :         uint32_t length_attribute_name_1 = 0;
   12969           0 :         TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
   12970             :         uint32_t _ptr_originating_dsa_dn;
   12971           0 :         uint32_t size_originating_dsa_dn_1 = 0;
   12972           0 :         uint32_t length_originating_dsa_dn_1 = 0;
   12973           0 :         TALLOC_CTX *_mem_save_originating_dsa_dn_0 = NULL;
   12974           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   12975           0 :         if (ndr_flags & NDR_SCALARS) {
   12976           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   12977           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
   12978           0 :                 if (_ptr_attribute_name) {
   12979           0 :                         NDR_PULL_ALLOC(ndr, r->attribute_name);
   12980             :                 } else {
   12981           0 :                         r->attribute_name = NULL;
   12982             :                 }
   12983           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
   12984           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
   12985           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
   12986           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
   12987           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
   12988           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
   12989           0 :                 if (_ptr_originating_dsa_dn) {
   12990           0 :                         NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
   12991             :                 } else {
   12992           0 :                         r->originating_dsa_dn = NULL;
   12993             :                 }
   12994           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   12995             :         }
   12996           0 :         if (ndr_flags & NDR_BUFFERS) {
   12997           0 :                 if (r->attribute_name) {
   12998           0 :                         _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12999           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
   13000           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
   13001           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
   13002           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
   13003           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
   13004           0 :                         if (length_attribute_name_1 > size_attribute_name_1) {
   13005           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
   13006             :                         }
   13007           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
   13008           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
   13009           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
   13010             :                 }
   13011           0 :                 if (r->originating_dsa_dn) {
   13012           0 :                         _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13013           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
   13014           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
   13015           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
   13016           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->originating_dsa_dn, &size_originating_dsa_dn_1));
   13017           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->originating_dsa_dn, &length_originating_dsa_dn_1));
   13018           0 :                         if (length_originating_dsa_dn_1 > size_originating_dsa_dn_1) {
   13019           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_originating_dsa_dn_1, length_originating_dsa_dn_1);
   13020             :                         }
   13021           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_originating_dsa_dn_1, sizeof(uint16_t)));
   13022           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, length_originating_dsa_dn_1, sizeof(uint16_t), CH_UTF16));
   13023           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
   13024             :                 }
   13025             :         }
   13026           0 :         return NDR_ERR_SUCCESS;
   13027             : }
   13028             : 
   13029           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
   13030             : {
   13031           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
   13032           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13033           0 :         ndr->depth++;
   13034           0 :         ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
   13035           0 :         ndr->depth++;
   13036           0 :         if (r->attribute_name) {
   13037           0 :                 ndr_print_string(ndr, "attribute_name", r->attribute_name);
   13038             :         }
   13039           0 :         ndr->depth--;
   13040           0 :         ndr_print_uint32(ndr, "version", r->version);
   13041           0 :         ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
   13042           0 :         ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
   13043           0 :         ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
   13044           0 :         ndr_print_hyper(ndr, "local_usn", r->local_usn);
   13045           0 :         ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
   13046           0 :         ndr->depth++;
   13047           0 :         if (r->originating_dsa_dn) {
   13048           0 :                 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
   13049             :         }
   13050           0 :         ndr->depth--;
   13051           0 :         ndr->depth--;
   13052             : }
   13053             : 
   13054           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
   13055             : {
   13056             :         uint32_t cntr_array_0;
   13057           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   13058           0 :         if (ndr_flags & NDR_SCALARS) {
   13059           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   13060           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   13061           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   13062           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
   13063           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13064           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   13065             :                 }
   13066           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   13067             :         }
   13068           0 :         if (ndr_flags & NDR_BUFFERS) {
   13069           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13070           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   13071             :                 }
   13072             :         }
   13073           0 :         return NDR_ERR_SUCCESS;
   13074             : }
   13075             : 
   13076           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
   13077             : {
   13078           0 :         uint32_t size_array_0 = 0;
   13079             :         uint32_t cntr_array_0;
   13080           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   13081           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   13082           0 :         if (ndr_flags & NDR_SCALARS) {
   13083           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   13084           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   13085           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   13086           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
   13087           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   13088           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   13089           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13090           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   13091           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13092           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   13093             :                 }
   13094           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   13095           0 :                 if (r->array) {
   13096           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   13097             :                 }
   13098           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   13099             :         }
   13100           0 :         if (ndr_flags & NDR_BUFFERS) {
   13101           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   13102           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13103           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   13104           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13105           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   13106             :                 }
   13107           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   13108           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13109             :                 }
   13110             :         }
   13111           0 :         return NDR_ERR_SUCCESS;
   13112             : }
   13113             : 
   13114           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
   13115             : {
   13116             :         uint32_t cntr_array_0;
   13117           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
   13118           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13119           0 :         ndr->depth++;
   13120           0 :         ndr_print_uint32(ndr, "count", r->count);
   13121           0 :         ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
   13122           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   13123           0 :         ndr->depth++;
   13124           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13125           0 :                 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
   13126             :         }
   13127           0 :         ndr->depth--;
   13128           0 :         ndr->depth--;
   13129             : }
   13130             : 
   13131           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
   13132             : {
   13133           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   13134           0 :         if (ndr_flags & NDR_SCALARS) {
   13135           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   13136           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
   13137           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
   13138           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
   13139           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
   13140           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
   13141           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
   13142           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
   13143           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
   13144           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
   13145           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
   13146           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
   13147           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
   13148           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   13149             :         }
   13150           0 :         if (ndr_flags & NDR_BUFFERS) {
   13151           0 :                 if (r->attribute_name) {
   13152           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   13153           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13154           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
   13155           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13156             :                 }
   13157           0 :                 if (r->object_dn) {
   13158           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
   13159           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13160           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
   13161           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13162             :                 }
   13163           0 :                 if (r->binary) {
   13164           0 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
   13165             :                 }
   13166           0 :                 if (r->originating_dsa_dn) {
   13167           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
   13168           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13169           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
   13170           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->originating_dsa_dn, ndr_charset_length(r->originating_dsa_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13171             :                 }
   13172             :         }
   13173           0 :         return NDR_ERR_SUCCESS;
   13174             : }
   13175             : 
   13176           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
   13177             : {
   13178             :         uint32_t _ptr_attribute_name;
   13179           0 :         uint32_t size_attribute_name_1 = 0;
   13180           0 :         uint32_t length_attribute_name_1 = 0;
   13181           0 :         TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
   13182             :         uint32_t _ptr_object_dn;
   13183           0 :         uint32_t size_object_dn_1 = 0;
   13184           0 :         uint32_t length_object_dn_1 = 0;
   13185           0 :         TALLOC_CTX *_mem_save_object_dn_0 = NULL;
   13186             :         uint32_t _ptr_binary;
   13187           0 :         TALLOC_CTX *_mem_save_binary_0 = NULL;
   13188             :         uint32_t _ptr_originating_dsa_dn;
   13189           0 :         uint32_t size_originating_dsa_dn_1 = 0;
   13190           0 :         uint32_t length_originating_dsa_dn_1 = 0;
   13191           0 :         TALLOC_CTX *_mem_save_originating_dsa_dn_0 = NULL;
   13192           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   13193           0 :         if (ndr_flags & NDR_SCALARS) {
   13194           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   13195           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
   13196           0 :                 if (_ptr_attribute_name) {
   13197           0 :                         NDR_PULL_ALLOC(ndr, r->attribute_name);
   13198             :                 } else {
   13199           0 :                         r->attribute_name = NULL;
   13200             :                 }
   13201           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
   13202           0 :                 if (_ptr_object_dn) {
   13203           0 :                         NDR_PULL_ALLOC(ndr, r->object_dn);
   13204             :                 } else {
   13205           0 :                         r->object_dn = NULL;
   13206             :                 }
   13207           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
   13208           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
   13209           0 :                 if (_ptr_binary) {
   13210           0 :                         NDR_PULL_ALLOC(ndr, r->binary);
   13211             :                 } else {
   13212           0 :                         r->binary = NULL;
   13213             :                 }
   13214           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
   13215           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
   13216           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
   13217           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
   13218           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
   13219           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
   13220           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
   13221           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
   13222           0 :                 if (_ptr_originating_dsa_dn) {
   13223           0 :                         NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
   13224             :                 } else {
   13225           0 :                         r->originating_dsa_dn = NULL;
   13226             :                 }
   13227           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   13228             :         }
   13229           0 :         if (ndr_flags & NDR_BUFFERS) {
   13230           0 :                 if (r->attribute_name) {
   13231           0 :                         _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13232           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
   13233           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
   13234           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
   13235           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
   13236           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
   13237           0 :                         if (length_attribute_name_1 > size_attribute_name_1) {
   13238           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
   13239             :                         }
   13240           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
   13241           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
   13242           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
   13243             :                 }
   13244           0 :                 if (r->object_dn) {
   13245           0 :                         _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13246           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
   13247           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
   13248           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
   13249           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
   13250           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
   13251           0 :                         if (length_object_dn_1 > size_object_dn_1) {
   13252           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
   13253             :                         }
   13254           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
   13255           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
   13256           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
   13257             :                 }
   13258           0 :                 if (r->binary) {
   13259           0 :                         _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13260           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
   13261           0 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
   13262           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
   13263             :                 }
   13264           0 :                 if (r->originating_dsa_dn) {
   13265           0 :                         _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13266           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
   13267           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
   13268           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
   13269           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->originating_dsa_dn, &size_originating_dsa_dn_1));
   13270           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->originating_dsa_dn, &length_originating_dsa_dn_1));
   13271           0 :                         if (length_originating_dsa_dn_1 > size_originating_dsa_dn_1) {
   13272           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_originating_dsa_dn_1, length_originating_dsa_dn_1);
   13273             :                         }
   13274           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_originating_dsa_dn_1, sizeof(uint16_t)));
   13275           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, length_originating_dsa_dn_1, sizeof(uint16_t), CH_UTF16));
   13276           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
   13277             :                 }
   13278             :         }
   13279           0 :         return NDR_ERR_SUCCESS;
   13280             : }
   13281             : 
   13282           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
   13283             : {
   13284           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
   13285           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13286           0 :         ndr->depth++;
   13287           0 :         ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
   13288           0 :         ndr->depth++;
   13289           0 :         if (r->attribute_name) {
   13290           0 :                 ndr_print_string(ndr, "attribute_name", r->attribute_name);
   13291             :         }
   13292           0 :         ndr->depth--;
   13293           0 :         ndr_print_ptr(ndr, "object_dn", r->object_dn);
   13294           0 :         ndr->depth++;
   13295           0 :         if (r->object_dn) {
   13296           0 :                 ndr_print_string(ndr, "object_dn", r->object_dn);
   13297             :         }
   13298           0 :         ndr->depth--;
   13299           0 :         ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->binary, 0):r->__ndr_size_binary);
   13300           0 :         ndr_print_ptr(ndr, "binary", r->binary);
   13301           0 :         ndr->depth++;
   13302           0 :         if (r->binary) {
   13303           0 :                 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
   13304             :         }
   13305           0 :         ndr->depth--;
   13306           0 :         ndr_print_NTTIME(ndr, "deleted", r->deleted);
   13307           0 :         ndr_print_NTTIME(ndr, "created", r->created);
   13308           0 :         ndr_print_uint32(ndr, "version", r->version);
   13309           0 :         ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
   13310           0 :         ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
   13311           0 :         ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
   13312           0 :         ndr_print_hyper(ndr, "local_usn", r->local_usn);
   13313           0 :         ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
   13314           0 :         ndr->depth++;
   13315           0 :         if (r->originating_dsa_dn) {
   13316           0 :                 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
   13317             :         }
   13318           0 :         ndr->depth--;
   13319           0 :         ndr->depth--;
   13320             : }
   13321             : 
   13322           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
   13323             : {
   13324             :         uint32_t cntr_array_0;
   13325           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   13326           0 :         if (ndr_flags & NDR_SCALARS) {
   13327           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   13328           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   13329           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   13330           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
   13331           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13332           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   13333             :                 }
   13334           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   13335             :         }
   13336           0 :         if (ndr_flags & NDR_BUFFERS) {
   13337           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13338           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   13339             :                 }
   13340             :         }
   13341           0 :         return NDR_ERR_SUCCESS;
   13342             : }
   13343             : 
   13344           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
   13345             : {
   13346           0 :         uint32_t size_array_0 = 0;
   13347             :         uint32_t cntr_array_0;
   13348           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   13349           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   13350           0 :         if (ndr_flags & NDR_SCALARS) {
   13351           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   13352           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   13353           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   13354           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
   13355           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   13356           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   13357           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13358           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   13359           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13360           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   13361             :                 }
   13362           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   13363           0 :                 if (r->array) {
   13364           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   13365             :                 }
   13366           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   13367             :         }
   13368           0 :         if (ndr_flags & NDR_BUFFERS) {
   13369           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   13370           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13371           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   13372           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13373           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   13374             :                 }
   13375           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   13376           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13377             :                 }
   13378             :         }
   13379           0 :         return NDR_ERR_SUCCESS;
   13380             : }
   13381             : 
   13382           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
   13383             : {
   13384             :         uint32_t cntr_array_0;
   13385           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
   13386           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13387           0 :         ndr->depth++;
   13388           0 :         ndr_print_uint32(ndr, "count", r->count);
   13389           0 :         ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
   13390           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   13391           0 :         ndr->depth++;
   13392           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13393           0 :                 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
   13394             :         }
   13395           0 :         ndr->depth--;
   13396           0 :         ndr->depth--;
   13397             : }
   13398             : 
   13399           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
   13400             : {
   13401           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   13402           0 :         if (ndr_flags & NDR_SCALARS) {
   13403           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   13404           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
   13405           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
   13406           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
   13407           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
   13408           0 :                 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
   13409             :                 {
   13410           0 :                         uint32_t _flags_save_ipv4address = ndr->flags;
   13411           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
   13412           0 :                         NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
   13413           0 :                         ndr->flags = _flags_save_ipv4address;
   13414             :                 }
   13415           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
   13416           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   13417             :         }
   13418           0 :         if (ndr_flags & NDR_BUFFERS) {
   13419             :         }
   13420           0 :         return NDR_ERR_SUCCESS;
   13421             : }
   13422             : 
   13423           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
   13424             : {
   13425           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   13426           0 :         if (ndr_flags & NDR_SCALARS) {
   13427           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   13428           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
   13429           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
   13430           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
   13431           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
   13432           0 :                 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
   13433             :                 {
   13434           0 :                         uint32_t _flags_save_ipv4address = ndr->flags;
   13435           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
   13436           0 :                         NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
   13437           0 :                         ndr->flags = _flags_save_ipv4address;
   13438             :                 }
   13439           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
   13440           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   13441             :         }
   13442           0 :         if (ndr_flags & NDR_BUFFERS) {
   13443             :         }
   13444           0 :         return NDR_ERR_SUCCESS;
   13445             : }
   13446             : 
   13447           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
   13448             : {
   13449           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
   13450           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13451           0 :         ndr->depth++;
   13452           0 :         ndr_print_hyper(ndr, "u1", r->u1);
   13453           0 :         ndr_print_uint32(ndr, "u2", r->u2);
   13454           0 :         ndr_print_uint32(ndr, "u3", r->u3);
   13455           0 :         ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
   13456           0 :         ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
   13457             :         {
   13458           0 :                 uint32_t _flags_save_ipv4address = ndr->flags;
   13459           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
   13460           0 :                 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
   13461           0 :                 ndr->flags = _flags_save_ipv4address;
   13462             :         }
   13463           0 :         ndr_print_uint32(ndr, "u5", r->u5);
   13464           0 :         ndr->depth--;
   13465             : }
   13466             : 
   13467           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
   13468             : {
   13469             :         uint32_t cntr_array_0;
   13470           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   13471           0 :         if (ndr_flags & NDR_SCALARS) {
   13472           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   13473           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   13474           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   13475           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
   13476           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13477           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   13478             :                 }
   13479           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   13480             :         }
   13481           0 :         if (ndr_flags & NDR_BUFFERS) {
   13482             :         }
   13483           0 :         return NDR_ERR_SUCCESS;
   13484             : }
   13485             : 
   13486           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
   13487             : {
   13488           0 :         uint32_t size_array_0 = 0;
   13489             :         uint32_t cntr_array_0;
   13490           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   13491           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   13492           0 :         if (ndr_flags & NDR_SCALARS) {
   13493           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   13494           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   13495           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   13496           0 :                 if (r->count > 10000) {
   13497           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   13498             :                 }
   13499           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
   13500           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   13501           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   13502           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13503           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   13504           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13505           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   13506             :                 }
   13507           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   13508           0 :                 if (r->array) {
   13509           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->array, r->count));
   13510             :                 }
   13511           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   13512             :         }
   13513           0 :         if (ndr_flags & NDR_BUFFERS) {
   13514             :         }
   13515           0 :         return NDR_ERR_SUCCESS;
   13516             : }
   13517             : 
   13518           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
   13519             : {
   13520             :         uint32_t cntr_array_0;
   13521           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
   13522           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13523           0 :         ndr->depth++;
   13524           0 :         ndr_print_uint32(ndr, "count", r->count);
   13525           0 :         ndr_print_uint32(ndr, "reserved", r->reserved);
   13526           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   13527           0 :         ndr->depth++;
   13528           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13529           0 :                 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
   13530             :         }
   13531           0 :         ndr->depth--;
   13532           0 :         ndr->depth--;
   13533             : }
   13534             : 
   13535           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
   13536             : {
   13537           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   13538           0 :         if (ndr_flags & NDR_SCALARS) {
   13539           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   13540           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
   13541           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
   13542           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
   13543           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
   13544           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
   13545           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
   13546           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
   13547           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
   13548           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   13549             :         }
   13550           0 :         if (ndr_flags & NDR_BUFFERS) {
   13551           0 :                 if (r->str1) {
   13552           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
   13553           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13554           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
   13555           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13556             :                 }
   13557             :         }
   13558           0 :         return NDR_ERR_SUCCESS;
   13559             : }
   13560             : 
   13561           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
   13562             : {
   13563             :         uint32_t _ptr_str1;
   13564           0 :         uint32_t size_str1_1 = 0;
   13565           0 :         uint32_t length_str1_1 = 0;
   13566           0 :         TALLOC_CTX *_mem_save_str1_0 = NULL;
   13567           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   13568           0 :         if (ndr_flags & NDR_SCALARS) {
   13569           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   13570           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
   13571           0 :                 if (_ptr_str1) {
   13572           0 :                         NDR_PULL_ALLOC(ndr, r->str1);
   13573             :                 } else {
   13574           0 :                         r->str1 = NULL;
   13575             :                 }
   13576           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
   13577           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
   13578           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
   13579           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
   13580           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
   13581           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
   13582           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
   13583           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   13584             :         }
   13585           0 :         if (ndr_flags & NDR_BUFFERS) {
   13586           0 :                 if (r->str1) {
   13587           0 :                         _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13588           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
   13589           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
   13590           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
   13591           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->str1, &size_str1_1));
   13592           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->str1, &length_str1_1));
   13593           0 :                         if (length_str1_1 > size_str1_1) {
   13594           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_str1_1, length_str1_1);
   13595             :                         }
   13596           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_str1_1, sizeof(uint16_t)));
   13597           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, length_str1_1, sizeof(uint16_t), CH_UTF16));
   13598           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
   13599             :                 }
   13600             :         }
   13601           0 :         return NDR_ERR_SUCCESS;
   13602             : }
   13603             : 
   13604           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
   13605             : {
   13606           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
   13607           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13608           0 :         ndr->depth++;
   13609           0 :         ndr_print_ptr(ndr, "str1", r->str1);
   13610           0 :         ndr->depth++;
   13611           0 :         if (r->str1) {
   13612           0 :                 ndr_print_string(ndr, "str1", r->str1);
   13613             :         }
   13614           0 :         ndr->depth--;
   13615           0 :         ndr_print_uint32(ndr, "u1", r->u1);
   13616           0 :         ndr_print_uint32(ndr, "u2", r->u2);
   13617           0 :         ndr_print_uint32(ndr, "u3", r->u3);
   13618           0 :         ndr_print_uint32(ndr, "u4", r->u4);
   13619           0 :         ndr_print_uint32(ndr, "u5", r->u5);
   13620           0 :         ndr_print_hyper(ndr, "u6", r->u6);
   13621           0 :         ndr_print_uint32(ndr, "u7", r->u7);
   13622           0 :         ndr->depth--;
   13623             : }
   13624             : 
   13625           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
   13626             : {
   13627             :         uint32_t cntr_array_0;
   13628           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   13629           0 :         if (ndr_flags & NDR_SCALARS) {
   13630           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   13631           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
   13632           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   13633           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
   13634           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13635           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   13636             :                 }
   13637           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
   13638             :         }
   13639           0 :         if (ndr_flags & NDR_BUFFERS) {
   13640           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13641           0 :                         NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   13642             :                 }
   13643             :         }
   13644           0 :         return NDR_ERR_SUCCESS;
   13645             : }
   13646             : 
   13647           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
   13648             : {
   13649           0 :         uint32_t size_array_0 = 0;
   13650             :         uint32_t cntr_array_0;
   13651           0 :         TALLOC_CTX *_mem_save_array_0 = NULL;
   13652           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   13653           0 :         if (ndr_flags & NDR_SCALARS) {
   13654           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
   13655           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
   13656           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   13657           0 :                 if (r->count > 256) {
   13658           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   13659             :                 }
   13660           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
   13661           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   13662           0 :                 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
   13663           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13664           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   13665           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13666           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
   13667             :                 }
   13668           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   13669           0 :                 if (r->array) {
   13670           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
   13671             :                 }
   13672           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
   13673             :         }
   13674           0 :         if (ndr_flags & NDR_BUFFERS) {
   13675           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
   13676           0 :                 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13677           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
   13678           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13679           0 :                         NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
   13680             :                 }
   13681           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
   13682           0 :                 for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
   13683             :                 }
   13684             :         }
   13685           0 :         return NDR_ERR_SUCCESS;
   13686             : }
   13687             : 
   13688           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
   13689             : {
   13690             :         uint32_t cntr_array_0;
   13691           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
   13692           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13693           0 :         ndr->depth++;
   13694           0 :         ndr_print_uint32(ndr, "count", r->count);
   13695           0 :         ndr_print_uint32(ndr, "reserved", r->reserved);
   13696           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
   13697           0 :         ndr->depth++;
   13698           0 :         for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
   13699           0 :                 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
   13700             :         }
   13701           0 :         ndr->depth--;
   13702           0 :         ndr->depth--;
   13703             : }
   13704             : 
   13705          32 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
   13706             : {
   13707             :         uint32_t level;
   13708          32 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   13709          32 :         if (ndr_flags & NDR_SCALARS) {
   13710             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   13711          32 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   13712          32 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   13713          32 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
   13714          32 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   13715          32 :                 switch (level) {
   13716          16 :                         case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
   13717          16 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
   13718          16 :                         break; }
   13719             : 
   13720           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
   13721           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
   13722           0 :                         break; }
   13723             : 
   13724           0 :                         case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
   13725           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
   13726           0 :                         break; }
   13727             : 
   13728           0 :                         case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
   13729           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
   13730           0 :                         break; }
   13731             : 
   13732           0 :                         case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
   13733           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
   13734           0 :                         break; }
   13735             : 
   13736           0 :                         case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
   13737           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
   13738           0 :                         break; }
   13739             : 
   13740           0 :                         case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
   13741           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
   13742           0 :                         break; }
   13743             : 
   13744           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
   13745           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
   13746           0 :                         break; }
   13747             : 
   13748           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
   13749           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
   13750           0 :                         break; }
   13751             : 
   13752           0 :                         case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
   13753           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
   13754           0 :                         break; }
   13755             : 
   13756           0 :                         case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
   13757           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
   13758           0 :                         break; }
   13759             : 
   13760          16 :                         case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
   13761          16 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto));
   13762          16 :                         break; }
   13763             : 
   13764           0 :                         case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
   13765           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx));
   13766           0 :                         break; }
   13767             : 
   13768           0 :                         case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
   13769           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1));
   13770           0 :                         break; }
   13771             : 
   13772           0 :                         case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
   13773           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls));
   13774           0 :                         break; }
   13775             : 
   13776           0 :                         default:
   13777           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   13778             :                 }
   13779           0 :         }
   13780          32 :         if (ndr_flags & NDR_BUFFERS) {
   13781          32 :                 if (!(ndr_flags & NDR_SCALARS)) {
   13782             :                         /* We didn't get it above, and the token is not needed after this. */
   13783           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   13784             :                 }
   13785          32 :                 switch (level) {
   13786          16 :                         case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
   13787          16 :                                 if (r->neighbours) {
   13788          16 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
   13789             :                                 }
   13790          16 :                         break;
   13791             : 
   13792           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS:
   13793           0 :                                 if (r->cursors) {
   13794           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
   13795             :                                 }
   13796           0 :                         break;
   13797             : 
   13798           0 :                         case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
   13799           0 :                                 if (r->objmetadata) {
   13800           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
   13801             :                                 }
   13802           0 :                         break;
   13803             : 
   13804           0 :                         case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
   13805           0 :                                 if (r->connectfailures) {
   13806           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
   13807             :                                 }
   13808           0 :                         break;
   13809             : 
   13810           0 :                         case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
   13811           0 :                                 if (r->linkfailures) {
   13812           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
   13813             :                                 }
   13814           0 :                         break;
   13815             : 
   13816           0 :                         case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
   13817           0 :                                 if (r->pendingops) {
   13818           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
   13819             :                                 }
   13820           0 :                         break;
   13821             : 
   13822           0 :                         case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
   13823           0 :                                 if (r->attrvalmetadata) {
   13824           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
   13825             :                                 }
   13826           0 :                         break;
   13827             : 
   13828           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
   13829           0 :                                 if (r->cursors2) {
   13830           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
   13831             :                                 }
   13832           0 :                         break;
   13833             : 
   13834           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
   13835           0 :                                 if (r->cursors3) {
   13836           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
   13837             :                                 }
   13838           0 :                         break;
   13839             : 
   13840           0 :                         case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
   13841           0 :                                 if (r->objmetadata2) {
   13842           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
   13843             :                                 }
   13844           0 :                         break;
   13845             : 
   13846           0 :                         case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
   13847           0 :                                 if (r->attrvalmetadata2) {
   13848           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
   13849             :                                 }
   13850           0 :                         break;
   13851             : 
   13852          16 :                         case DRSUAPI_DS_REPLICA_INFO_REPSTO:
   13853          16 :                                 if (r->repsto) {
   13854          16 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
   13855             :                                 }
   13856          16 :                         break;
   13857             : 
   13858           0 :                         case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
   13859           0 :                                 if (r->clientctx) {
   13860           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
   13861             :                                 }
   13862           0 :                         break;
   13863             : 
   13864           0 :                         case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
   13865           0 :                                 if (r->udv1) {
   13866           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
   13867             :                                 }
   13868           0 :                         break;
   13869             : 
   13870           0 :                         case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
   13871           0 :                                 if (r->srvoutgoingcalls) {
   13872           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
   13873             :                                 }
   13874           0 :                         break;
   13875             : 
   13876           0 :                         default:
   13877           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   13878             :                 }
   13879           0 :         }
   13880          32 :         return NDR_ERR_SUCCESS;
   13881             : }
   13882             : 
   13883          32 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
   13884             : {
   13885             :         uint32_t level;
   13886             :         uint32_t _level;
   13887          32 :         TALLOC_CTX *_mem_save_neighbours_0 = NULL;
   13888             :         uint32_t _ptr_neighbours;
   13889          32 :         TALLOC_CTX *_mem_save_cursors_0 = NULL;
   13890             :         uint32_t _ptr_cursors;
   13891          32 :         TALLOC_CTX *_mem_save_objmetadata_0 = NULL;
   13892             :         uint32_t _ptr_objmetadata;
   13893          32 :         TALLOC_CTX *_mem_save_connectfailures_0 = NULL;
   13894             :         uint32_t _ptr_connectfailures;
   13895          32 :         TALLOC_CTX *_mem_save_linkfailures_0 = NULL;
   13896             :         uint32_t _ptr_linkfailures;
   13897          32 :         TALLOC_CTX *_mem_save_pendingops_0 = NULL;
   13898             :         uint32_t _ptr_pendingops;
   13899          32 :         TALLOC_CTX *_mem_save_attrvalmetadata_0 = NULL;
   13900             :         uint32_t _ptr_attrvalmetadata;
   13901          32 :         TALLOC_CTX *_mem_save_cursors2_0 = NULL;
   13902             :         uint32_t _ptr_cursors2;
   13903          32 :         TALLOC_CTX *_mem_save_cursors3_0 = NULL;
   13904             :         uint32_t _ptr_cursors3;
   13905          32 :         TALLOC_CTX *_mem_save_objmetadata2_0 = NULL;
   13906             :         uint32_t _ptr_objmetadata2;
   13907          32 :         TALLOC_CTX *_mem_save_attrvalmetadata2_0 = NULL;
   13908             :         uint32_t _ptr_attrvalmetadata2;
   13909          32 :         TALLOC_CTX *_mem_save_repsto_0 = NULL;
   13910             :         uint32_t _ptr_repsto;
   13911          32 :         TALLOC_CTX *_mem_save_clientctx_0 = NULL;
   13912             :         uint32_t _ptr_clientctx;
   13913          32 :         TALLOC_CTX *_mem_save_udv1_0 = NULL;
   13914             :         uint32_t _ptr_udv1;
   13915          32 :         TALLOC_CTX *_mem_save_srvoutgoingcalls_0 = NULL;
   13916             :         uint32_t _ptr_srvoutgoingcalls;
   13917          32 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   13918          32 :         if (ndr_flags & NDR_SCALARS) {
   13919             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   13920          32 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   13921          32 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   13922          32 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   13923          32 :                 if (_level != level) {
   13924           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   13925             :                 }
   13926          32 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   13927          32 :                 switch (level) {
   13928          16 :                         case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
   13929          16 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
   13930          16 :                                 if (_ptr_neighbours) {
   13931          16 :                                         NDR_PULL_ALLOC(ndr, r->neighbours);
   13932             :                                 } else {
   13933           0 :                                         r->neighbours = NULL;
   13934             :                                 }
   13935          16 :                         break; }
   13936             : 
   13937           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
   13938           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
   13939           0 :                                 if (_ptr_cursors) {
   13940           0 :                                         NDR_PULL_ALLOC(ndr, r->cursors);
   13941             :                                 } else {
   13942           0 :                                         r->cursors = NULL;
   13943             :                                 }
   13944           0 :                         break; }
   13945             : 
   13946           0 :                         case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
   13947           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
   13948           0 :                                 if (_ptr_objmetadata) {
   13949           0 :                                         NDR_PULL_ALLOC(ndr, r->objmetadata);
   13950             :                                 } else {
   13951           0 :                                         r->objmetadata = NULL;
   13952             :                                 }
   13953           0 :                         break; }
   13954             : 
   13955           0 :                         case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
   13956           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
   13957           0 :                                 if (_ptr_connectfailures) {
   13958           0 :                                         NDR_PULL_ALLOC(ndr, r->connectfailures);
   13959             :                                 } else {
   13960           0 :                                         r->connectfailures = NULL;
   13961             :                                 }
   13962           0 :                         break; }
   13963             : 
   13964           0 :                         case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
   13965           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
   13966           0 :                                 if (_ptr_linkfailures) {
   13967           0 :                                         NDR_PULL_ALLOC(ndr, r->linkfailures);
   13968             :                                 } else {
   13969           0 :                                         r->linkfailures = NULL;
   13970             :                                 }
   13971           0 :                         break; }
   13972             : 
   13973           0 :                         case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
   13974           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
   13975           0 :                                 if (_ptr_pendingops) {
   13976           0 :                                         NDR_PULL_ALLOC(ndr, r->pendingops);
   13977             :                                 } else {
   13978           0 :                                         r->pendingops = NULL;
   13979             :                                 }
   13980           0 :                         break; }
   13981             : 
   13982           0 :                         case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
   13983           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
   13984           0 :                                 if (_ptr_attrvalmetadata) {
   13985           0 :                                         NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
   13986             :                                 } else {
   13987           0 :                                         r->attrvalmetadata = NULL;
   13988             :                                 }
   13989           0 :                         break; }
   13990             : 
   13991           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
   13992           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
   13993           0 :                                 if (_ptr_cursors2) {
   13994           0 :                                         NDR_PULL_ALLOC(ndr, r->cursors2);
   13995             :                                 } else {
   13996           0 :                                         r->cursors2 = NULL;
   13997             :                                 }
   13998           0 :                         break; }
   13999             : 
   14000           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
   14001           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
   14002           0 :                                 if (_ptr_cursors3) {
   14003           0 :                                         NDR_PULL_ALLOC(ndr, r->cursors3);
   14004             :                                 } else {
   14005           0 :                                         r->cursors3 = NULL;
   14006             :                                 }
   14007           0 :                         break; }
   14008             : 
   14009           0 :                         case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
   14010           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
   14011           0 :                                 if (_ptr_objmetadata2) {
   14012           0 :                                         NDR_PULL_ALLOC(ndr, r->objmetadata2);
   14013             :                                 } else {
   14014           0 :                                         r->objmetadata2 = NULL;
   14015             :                                 }
   14016           0 :                         break; }
   14017             : 
   14018           0 :                         case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
   14019           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
   14020           0 :                                 if (_ptr_attrvalmetadata2) {
   14021           0 :                                         NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
   14022             :                                 } else {
   14023           0 :                                         r->attrvalmetadata2 = NULL;
   14024             :                                 }
   14025           0 :                         break; }
   14026             : 
   14027          16 :                         case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
   14028          16 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto));
   14029          16 :                                 if (_ptr_repsto) {
   14030          16 :                                         NDR_PULL_ALLOC(ndr, r->repsto);
   14031             :                                 } else {
   14032           0 :                                         r->repsto = NULL;
   14033             :                                 }
   14034          16 :                         break; }
   14035             : 
   14036           0 :                         case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
   14037           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx));
   14038           0 :                                 if (_ptr_clientctx) {
   14039           0 :                                         NDR_PULL_ALLOC(ndr, r->clientctx);
   14040             :                                 } else {
   14041           0 :                                         r->clientctx = NULL;
   14042             :                                 }
   14043           0 :                         break; }
   14044             : 
   14045           0 :                         case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
   14046           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1));
   14047           0 :                                 if (_ptr_udv1) {
   14048           0 :                                         NDR_PULL_ALLOC(ndr, r->udv1);
   14049             :                                 } else {
   14050           0 :                                         r->udv1 = NULL;
   14051             :                                 }
   14052           0 :                         break; }
   14053             : 
   14054           0 :                         case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
   14055           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls));
   14056           0 :                                 if (_ptr_srvoutgoingcalls) {
   14057           0 :                                         NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls);
   14058             :                                 } else {
   14059           0 :                                         r->srvoutgoingcalls = NULL;
   14060             :                                 }
   14061           0 :                         break; }
   14062             : 
   14063           0 :                         default:
   14064           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   14065             :                 }
   14066           0 :         }
   14067          32 :         if (ndr_flags & NDR_BUFFERS) {
   14068          32 :                 if (!(ndr_flags & NDR_SCALARS)) {
   14069             :                         /* We didn't get it above, and the token is not needed after this. */
   14070           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   14071             :                 }
   14072          32 :                 switch (level) {
   14073          16 :                         case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
   14074          16 :                                 if (r->neighbours) {
   14075          16 :                                         _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14076          16 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
   14077          16 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
   14078          16 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
   14079             :                                 }
   14080          16 :                         break;
   14081             : 
   14082           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS:
   14083           0 :                                 if (r->cursors) {
   14084           0 :                                         _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14085           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
   14086           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
   14087           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
   14088             :                                 }
   14089           0 :                         break;
   14090             : 
   14091           0 :                         case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
   14092           0 :                                 if (r->objmetadata) {
   14093           0 :                                         _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14094           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
   14095           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
   14096           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
   14097             :                                 }
   14098           0 :                         break;
   14099             : 
   14100           0 :                         case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
   14101           0 :                                 if (r->connectfailures) {
   14102           0 :                                         _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14103           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
   14104           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
   14105           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
   14106             :                                 }
   14107           0 :                         break;
   14108             : 
   14109           0 :                         case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
   14110           0 :                                 if (r->linkfailures) {
   14111           0 :                                         _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14112           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
   14113           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
   14114           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
   14115             :                                 }
   14116           0 :                         break;
   14117             : 
   14118           0 :                         case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
   14119           0 :                                 if (r->pendingops) {
   14120           0 :                                         _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14121           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
   14122           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
   14123           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
   14124             :                                 }
   14125           0 :                         break;
   14126             : 
   14127           0 :                         case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
   14128           0 :                                 if (r->attrvalmetadata) {
   14129           0 :                                         _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14130           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
   14131           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
   14132           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
   14133             :                                 }
   14134           0 :                         break;
   14135             : 
   14136           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
   14137           0 :                                 if (r->cursors2) {
   14138           0 :                                         _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14139           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
   14140           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
   14141           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
   14142             :                                 }
   14143           0 :                         break;
   14144             : 
   14145           0 :                         case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
   14146           0 :                                 if (r->cursors3) {
   14147           0 :                                         _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14148           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
   14149           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
   14150           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
   14151             :                                 }
   14152           0 :                         break;
   14153             : 
   14154           0 :                         case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
   14155           0 :                                 if (r->objmetadata2) {
   14156           0 :                                         _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14157           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
   14158           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
   14159           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
   14160             :                                 }
   14161           0 :                         break;
   14162             : 
   14163           0 :                         case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
   14164           0 :                                 if (r->attrvalmetadata2) {
   14165           0 :                                         _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14166           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
   14167           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
   14168           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
   14169             :                                 }
   14170           0 :                         break;
   14171             : 
   14172          16 :                         case DRSUAPI_DS_REPLICA_INFO_REPSTO:
   14173          16 :                                 if (r->repsto) {
   14174          16 :                                         _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14175          16 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0);
   14176          16 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
   14177          16 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0);
   14178             :                                 }
   14179          16 :                         break;
   14180             : 
   14181           0 :                         case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
   14182           0 :                                 if (r->clientctx) {
   14183           0 :                                         _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14184           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0);
   14185           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
   14186           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0);
   14187             :                                 }
   14188           0 :                         break;
   14189             : 
   14190           0 :                         case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
   14191           0 :                                 if (r->udv1) {
   14192           0 :                                         _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14193           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0);
   14194           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
   14195           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0);
   14196             :                                 }
   14197           0 :                         break;
   14198             : 
   14199           0 :                         case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
   14200           0 :                                 if (r->srvoutgoingcalls) {
   14201           0 :                                         _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14202           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0);
   14203           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
   14204           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0);
   14205             :                                 }
   14206           0 :                         break;
   14207             : 
   14208           0 :                         default:
   14209           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   14210             :                 }
   14211           0 :         }
   14212          32 :         return NDR_ERR_SUCCESS;
   14213             : }
   14214             : 
   14215           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
   14216             : {
   14217             :         uint32_t level;
   14218           0 :         level = ndr_print_steal_switch_value(ndr, r);
   14219           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
   14220           0 :         switch (level) {
   14221           0 :                 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
   14222           0 :                         ndr_print_ptr(ndr, "neighbours", r->neighbours);
   14223           0 :                         ndr->depth++;
   14224           0 :                         if (r->neighbours) {
   14225           0 :                                 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
   14226             :                         }
   14227           0 :                         ndr->depth--;
   14228           0 :                 break;
   14229             : 
   14230           0 :                 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
   14231           0 :                         ndr_print_ptr(ndr, "cursors", r->cursors);
   14232           0 :                         ndr->depth++;
   14233           0 :                         if (r->cursors) {
   14234           0 :                                 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
   14235             :                         }
   14236           0 :                         ndr->depth--;
   14237           0 :                 break;
   14238             : 
   14239           0 :                 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
   14240           0 :                         ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
   14241           0 :                         ndr->depth++;
   14242           0 :                         if (r->objmetadata) {
   14243           0 :                                 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
   14244             :                         }
   14245           0 :                         ndr->depth--;
   14246           0 :                 break;
   14247             : 
   14248           0 :                 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
   14249           0 :                         ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
   14250           0 :                         ndr->depth++;
   14251           0 :                         if (r->connectfailures) {
   14252           0 :                                 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
   14253             :                         }
   14254           0 :                         ndr->depth--;
   14255           0 :                 break;
   14256             : 
   14257           0 :                 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
   14258           0 :                         ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
   14259           0 :                         ndr->depth++;
   14260           0 :                         if (r->linkfailures) {
   14261           0 :                                 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
   14262             :                         }
   14263           0 :                         ndr->depth--;
   14264           0 :                 break;
   14265             : 
   14266           0 :                 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
   14267           0 :                         ndr_print_ptr(ndr, "pendingops", r->pendingops);
   14268           0 :                         ndr->depth++;
   14269           0 :                         if (r->pendingops) {
   14270           0 :                                 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
   14271             :                         }
   14272           0 :                         ndr->depth--;
   14273           0 :                 break;
   14274             : 
   14275           0 :                 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
   14276           0 :                         ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
   14277           0 :                         ndr->depth++;
   14278           0 :                         if (r->attrvalmetadata) {
   14279           0 :                                 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
   14280             :                         }
   14281           0 :                         ndr->depth--;
   14282           0 :                 break;
   14283             : 
   14284           0 :                 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
   14285           0 :                         ndr_print_ptr(ndr, "cursors2", r->cursors2);
   14286           0 :                         ndr->depth++;
   14287           0 :                         if (r->cursors2) {
   14288           0 :                                 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
   14289             :                         }
   14290           0 :                         ndr->depth--;
   14291           0 :                 break;
   14292             : 
   14293           0 :                 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
   14294           0 :                         ndr_print_ptr(ndr, "cursors3", r->cursors3);
   14295           0 :                         ndr->depth++;
   14296           0 :                         if (r->cursors3) {
   14297           0 :                                 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
   14298             :                         }
   14299           0 :                         ndr->depth--;
   14300           0 :                 break;
   14301             : 
   14302           0 :                 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
   14303           0 :                         ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
   14304           0 :                         ndr->depth++;
   14305           0 :                         if (r->objmetadata2) {
   14306           0 :                                 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
   14307             :                         }
   14308           0 :                         ndr->depth--;
   14309           0 :                 break;
   14310             : 
   14311           0 :                 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
   14312           0 :                         ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
   14313           0 :                         ndr->depth++;
   14314           0 :                         if (r->attrvalmetadata2) {
   14315           0 :                                 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
   14316             :                         }
   14317           0 :                         ndr->depth--;
   14318           0 :                 break;
   14319             : 
   14320           0 :                 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
   14321           0 :                         ndr_print_ptr(ndr, "repsto", r->repsto);
   14322           0 :                         ndr->depth++;
   14323           0 :                         if (r->repsto) {
   14324           0 :                                 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto);
   14325             :                         }
   14326           0 :                         ndr->depth--;
   14327           0 :                 break;
   14328             : 
   14329           0 :                 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
   14330           0 :                         ndr_print_ptr(ndr, "clientctx", r->clientctx);
   14331           0 :                         ndr->depth++;
   14332           0 :                         if (r->clientctx) {
   14333           0 :                                 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx);
   14334             :                         }
   14335           0 :                         ndr->depth--;
   14336           0 :                 break;
   14337             : 
   14338           0 :                 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
   14339           0 :                         ndr_print_ptr(ndr, "udv1", r->udv1);
   14340           0 :                         ndr->depth++;
   14341           0 :                         if (r->udv1) {
   14342           0 :                                 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1);
   14343             :                         }
   14344           0 :                         ndr->depth--;
   14345           0 :                 break;
   14346             : 
   14347           0 :                 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
   14348           0 :                         ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
   14349           0 :                         ndr->depth++;
   14350           0 :                         if (r->srvoutgoingcalls) {
   14351           0 :                                 ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
   14352             :                         }
   14353           0 :                         ndr->depth--;
   14354           0 :                 break;
   14355             : 
   14356           0 :                 default:
   14357           0 :                         ndr_print_bad_level(ndr, name, level);
   14358             :         }
   14359           0 : }
   14360             : 
   14361           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
   14362             : {
   14363             :         uint32_t level;
   14364           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   14365           0 :         if (ndr_flags & NDR_SCALARS) {
   14366             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   14367           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   14368           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   14369           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
   14370           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   14371           0 :                 switch (level) {
   14372           0 :                         case 1: {
   14373           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
   14374           0 :                         break; }
   14375             : 
   14376           0 :                         default:
   14377           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   14378             :                 }
   14379           0 :         }
   14380           0 :         if (ndr_flags & NDR_BUFFERS) {
   14381           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   14382             :                         /* We didn't get it above, and the token is not needed after this. */
   14383           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   14384             :                 }
   14385           0 :                 switch (level) {
   14386           0 :                         case 1:
   14387           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
   14388           0 :                         break;
   14389             : 
   14390           0 :                         default:
   14391           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   14392             :                 }
   14393           0 :         }
   14394           0 :         return NDR_ERR_SUCCESS;
   14395             : }
   14396             : 
   14397           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
   14398             : {
   14399             :         uint32_t level;
   14400             :         uint32_t _level;
   14401           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   14402           0 :         if (ndr_flags & NDR_SCALARS) {
   14403             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   14404           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   14405           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   14406           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   14407           0 :                 if (_level != level) {
   14408           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   14409             :                 }
   14410           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   14411           0 :                 switch (level) {
   14412           0 :                         case 1: {
   14413           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
   14414           0 :                         break; }
   14415             : 
   14416           0 :                         default:
   14417           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   14418             :                 }
   14419           0 :         }
   14420           0 :         if (ndr_flags & NDR_BUFFERS) {
   14421           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   14422             :                         /* We didn't get it above, and the token is not needed after this. */
   14423           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   14424             :                 }
   14425           0 :                 switch (level) {
   14426           0 :                         case 1:
   14427           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
   14428           0 :                         break;
   14429             : 
   14430           0 :                         default:
   14431           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   14432             :                 }
   14433           0 :         }
   14434           0 :         return NDR_ERR_SUCCESS;
   14435             : }
   14436             : 
   14437           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
   14438             : {
   14439             :         uint32_t level;
   14440           0 :         level = ndr_print_steal_switch_value(ndr, r);
   14441           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
   14442           0 :         switch (level) {
   14443           0 :                 case 1:
   14444           0 :                         ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
   14445           0 :                 break;
   14446             : 
   14447           0 :                 default:
   14448           0 :                         ndr_print_bad_level(ndr, name, level);
   14449             :         }
   14450           0 : }
   14451             : 
   14452           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
   14453             : {
   14454             :         uint32_t cntr_req_array_1;
   14455           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   14456           0 :         if (ndr_flags & NDR_SCALARS) {
   14457           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   14458           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
   14459           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
   14460           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   14461             :         }
   14462           0 :         if (ndr_flags & NDR_BUFFERS) {
   14463           0 :                 if (r->req_array) {
   14464           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
   14465           0 :                         for (cntr_req_array_1 = 0; cntr_req_array_1 < (r->num_req); cntr_req_array_1++) {
   14466           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
   14467             :                         }
   14468           0 :                         for (cntr_req_array_1 = 0; cntr_req_array_1 < (r->num_req); cntr_req_array_1++) {
   14469           0 :                                 if (r->req_array[cntr_req_array_1]) {
   14470           0 :                                         NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
   14471             :                                 }
   14472             :                         }
   14473             :                 }
   14474             :         }
   14475           0 :         return NDR_ERR_SUCCESS;
   14476             : }
   14477             : 
   14478           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
   14479             : {
   14480             :         uint32_t _ptr_req_array;
   14481           0 :         uint32_t size_req_array_1 = 0;
   14482             :         uint32_t cntr_req_array_1;
   14483           0 :         TALLOC_CTX *_mem_save_req_array_0 = NULL;
   14484           0 :         TALLOC_CTX *_mem_save_req_array_1 = NULL;
   14485           0 :         TALLOC_CTX *_mem_save_req_array_2 = NULL;
   14486           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   14487           0 :         if (ndr_flags & NDR_SCALARS) {
   14488           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   14489           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
   14490           0 :                 if (r->num_req < 1 || r->num_req > 10000) {
   14491           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   14492             :                 }
   14493           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
   14494           0 :                 if (_ptr_req_array) {
   14495           0 :                         NDR_PULL_ALLOC(ndr, r->req_array);
   14496             :                 } else {
   14497           0 :                         r->req_array = NULL;
   14498             :                 }
   14499           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   14500             :         }
   14501           0 :         if (ndr_flags & NDR_BUFFERS) {
   14502           0 :                 if (r->req_array) {
   14503           0 :                         _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14504           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
   14505           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
   14506           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->req_array, &size_req_array_1));
   14507           0 :                         NDR_PULL_ALLOC_N(ndr, r->req_array, size_req_array_1);
   14508           0 :                         _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
   14509           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
   14510           0 :                         for (cntr_req_array_1 = 0; cntr_req_array_1 < (size_req_array_1); cntr_req_array_1++) {
   14511           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
   14512           0 :                                 if (_ptr_req_array) {
   14513           0 :                                         NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
   14514             :                                 } else {
   14515           0 :                                         r->req_array[cntr_req_array_1] = NULL;
   14516             :                                 }
   14517             :                         }
   14518           0 :                         for (cntr_req_array_1 = 0; cntr_req_array_1 < (size_req_array_1); cntr_req_array_1++) {
   14519           0 :                                 if (r->req_array[cntr_req_array_1]) {
   14520           0 :                                         _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
   14521           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
   14522           0 :                                         NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
   14523           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
   14524             :                                 }
   14525             :                         }
   14526           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
   14527           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
   14528             :                 }
   14529           0 :                 if (r->req_array) {
   14530           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
   14531             :                 }
   14532           0 :                 for (cntr_req_array_1 = 0; cntr_req_array_1 < (size_req_array_1); cntr_req_array_1++) {
   14533             :                 }
   14534             :         }
   14535           0 :         return NDR_ERR_SUCCESS;
   14536             : }
   14537             : 
   14538           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
   14539             : {
   14540             :         uint32_t cntr_req_array_1;
   14541           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
   14542           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14543           0 :         ndr->depth++;
   14544           0 :         ndr_print_uint32(ndr, "num_req", r->num_req);
   14545           0 :         ndr_print_ptr(ndr, "req_array", r->req_array);
   14546           0 :         ndr->depth++;
   14547           0 :         if (r->req_array) {
   14548           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
   14549           0 :                 ndr->depth++;
   14550           0 :                 for (cntr_req_array_1 = 0; cntr_req_array_1 < (r->num_req); cntr_req_array_1++) {
   14551           0 :                         ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
   14552           0 :                         ndr->depth++;
   14553           0 :                         if (r->req_array[cntr_req_array_1]) {
   14554           0 :                                 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
   14555             :                         }
   14556           0 :                         ndr->depth--;
   14557             :                 }
   14558           0 :                 ndr->depth--;
   14559             :         }
   14560           0 :         ndr->depth--;
   14561           0 :         ndr->depth--;
   14562             : }
   14563             : 
   14564           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
   14565             : {
   14566             :         uint32_t level;
   14567           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   14568           0 :         if (ndr_flags & NDR_SCALARS) {
   14569             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   14570           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   14571           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   14572           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
   14573           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   14574           0 :                 switch (level) {
   14575           0 :                         case 1: {
   14576           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
   14577           0 :                         break; }
   14578             : 
   14579           0 :                         default:
   14580           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   14581             :                 }
   14582           0 :         }
   14583           0 :         if (ndr_flags & NDR_BUFFERS) {
   14584           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   14585             :                         /* We didn't get it above, and the token is not needed after this. */
   14586           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   14587             :                 }
   14588           0 :                 switch (level) {
   14589           0 :                         case 1:
   14590           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
   14591           0 :                         break;
   14592             : 
   14593           0 :                         default:
   14594           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   14595             :                 }
   14596           0 :         }
   14597           0 :         return NDR_ERR_SUCCESS;
   14598             : }
   14599             : 
   14600           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
   14601             : {
   14602             :         uint32_t level;
   14603             :         uint32_t _level;
   14604           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   14605           0 :         if (ndr_flags & NDR_SCALARS) {
   14606             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   14607           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   14608           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   14609           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   14610           0 :                 if (_level != level) {
   14611           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   14612             :                 }
   14613           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   14614           0 :                 switch (level) {
   14615           0 :                         case 1: {
   14616           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
   14617           0 :                         break; }
   14618             : 
   14619           0 :                         default:
   14620           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   14621             :                 }
   14622           0 :         }
   14623           0 :         if (ndr_flags & NDR_BUFFERS) {
   14624           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   14625             :                         /* We didn't get it above, and the token is not needed after this. */
   14626           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   14627             :                 }
   14628           0 :                 switch (level) {
   14629           0 :                         case 1:
   14630           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
   14631           0 :                         break;
   14632             : 
   14633           0 :                         default:
   14634           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   14635             :                 }
   14636           0 :         }
   14637           0 :         return NDR_ERR_SUCCESS;
   14638             : }
   14639             : 
   14640           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
   14641             : {
   14642             :         uint32_t level;
   14643           0 :         level = ndr_print_steal_switch_value(ndr, r);
   14644           0 :         ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
   14645           0 :         switch (level) {
   14646           0 :                 case 1:
   14647           0 :                         ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
   14648           0 :                 break;
   14649             : 
   14650           0 :                 default:
   14651           0 :                         ndr_print_bad_level(ndr, name, level);
   14652             :         }
   14653           0 : }
   14654             : 
   14655           0 : static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
   14656             : {
   14657           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   14658           0 :         if (ndr_flags & NDR_SCALARS) {
   14659           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
   14660           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
   14661           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
   14662           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
   14663             :         }
   14664           0 :         if (ndr_flags & NDR_BUFFERS) {
   14665             :         }
   14666           0 :         return NDR_ERR_SUCCESS;
   14667             : }
   14668             : 
   14669           0 : static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
   14670             : {
   14671           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   14672           0 :         if (ndr_flags & NDR_SCALARS) {
   14673           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
   14674           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
   14675           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
   14676           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
   14677             :         }
   14678           0 :         if (ndr_flags & NDR_BUFFERS) {
   14679             :         }
   14680           0 :         return NDR_ERR_SUCCESS;
   14681             : }
   14682             : 
   14683           0 : _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
   14684             : {
   14685           0 :         ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
   14686           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14687           0 :         ndr->depth++;
   14688           0 :         ndr_print_WERROR(ndr, "error_code", r->error_code);
   14689           0 :         ndr_print_uint32(ndr, "site_cost", r->site_cost);
   14690           0 :         ndr->depth--;
   14691             : }
   14692             : 
   14693           0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
   14694             : {
   14695             :         uint32_t cntr_info_1;
   14696           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   14697           0 :         if (ndr_flags & NDR_SCALARS) {
   14698           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   14699           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
   14700           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
   14701           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
   14702           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   14703             :         }
   14704           0 :         if (ndr_flags & NDR_BUFFERS) {
   14705           0 :                 if (r->info) {
   14706           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
   14707           0 :                         for (cntr_info_1 = 0; cntr_info_1 < (r->num_info); cntr_info_1++) {
   14708           0 :                                 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
   14709             :                         }
   14710             :                 }
   14711             :         }
   14712           0 :         return NDR_ERR_SUCCESS;
   14713             : }
   14714             : 
   14715           0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
   14716             : {
   14717             :         uint32_t _ptr_info;
   14718           0 :         uint32_t size_info_1 = 0;
   14719             :         uint32_t cntr_info_1;
   14720           0 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   14721           0 :         TALLOC_CTX *_mem_save_info_1 = NULL;
   14722           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   14723           0 :         if (ndr_flags & NDR_SCALARS) {
   14724           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   14725           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
   14726           0 :                 if (r->num_info > 10000) {
   14727           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   14728             :                 }
   14729           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
   14730           0 :                 if (_ptr_info) {
   14731           0 :                         NDR_PULL_ALLOC(ndr, r->info);
   14732             :                 } else {
   14733           0 :                         r->info = NULL;
   14734             :                 }
   14735           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_reserved));
   14736           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   14737             :         }
   14738           0 :         if (ndr_flags & NDR_BUFFERS) {
   14739           0 :                 if (r->info) {
   14740           0 :                         _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14741           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
   14742           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
   14743           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->info, &size_info_1));
   14744           0 :                         NDR_PULL_ALLOC_N(ndr, r->info, size_info_1);
   14745           0 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   14746           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
   14747           0 :                         for (cntr_info_1 = 0; cntr_info_1 < (size_info_1); cntr_info_1++) {
   14748           0 :                                 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
   14749             :                         }
   14750           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
   14751           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
   14752             :                 }
   14753           0 :                 if (r->info) {
   14754           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->info, r->num_info));
   14755             :                 }
   14756             :         }
   14757           0 :         return NDR_ERR_SUCCESS;
   14758             : }
   14759             : 
   14760           0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
   14761             : {
   14762             :         uint32_t cntr_info_1;
   14763           0 :         ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
   14764           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14765           0 :         ndr->depth++;
   14766           0 :         ndr_print_uint32(ndr, "num_info", r->num_info);
   14767           0 :         ndr_print_ptr(ndr, "info", r->info);
   14768           0 :         ndr->depth++;
   14769           0 :         if (r->info) {
   14770           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
   14771           0 :                 ndr->depth++;
   14772           0 :                 for (cntr_info_1 = 0; cntr_info_1 < (r->num_info); cntr_info_1++) {
   14773           0 :                         ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
   14774             :                 }
   14775           0 :                 ndr->depth--;
   14776             :         }
   14777           0 :         ndr->depth--;
   14778           0 :         ndr_print_uint32(ndr, "flags_reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags_reserved);
   14779           0 :         ndr->depth--;
   14780             : }
   14781             : 
   14782           0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
   14783             : {
   14784             :         uint32_t level;
   14785           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   14786           0 :         if (ndr_flags & NDR_SCALARS) {
   14787             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   14788           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   14789           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   14790           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
   14791           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   14792           0 :                 switch (level) {
   14793           0 :                         case 1: {
   14794           0 :                                 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
   14795           0 :                         break; }
   14796             : 
   14797           0 :                         default:
   14798           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   14799             :                 }
   14800           0 :         }
   14801           0 :         if (ndr_flags & NDR_BUFFERS) {
   14802           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   14803             :                         /* We didn't get it above, and the token is not needed after this. */
   14804           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   14805             :                 }
   14806           0 :                 switch (level) {
   14807           0 :                         case 1:
   14808           0 :                                 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
   14809           0 :                         break;
   14810             : 
   14811           0 :                         default:
   14812           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   14813             :                 }
   14814           0 :         }
   14815           0 :         return NDR_ERR_SUCCESS;
   14816             : }
   14817             : 
   14818           0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
   14819             : {
   14820             :         uint32_t level;
   14821             :         uint32_t _level;
   14822           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   14823           0 :         if (ndr_flags & NDR_SCALARS) {
   14824             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   14825           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   14826           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   14827           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   14828           0 :                 if (_level != level) {
   14829           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   14830             :                 }
   14831           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   14832           0 :                 switch (level) {
   14833           0 :                         case 1: {
   14834           0 :                                 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
   14835           0 :                         break; }
   14836             : 
   14837           0 :                         default:
   14838           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   14839             :                 }
   14840           0 :         }
   14841           0 :         if (ndr_flags & NDR_BUFFERS) {
   14842           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   14843             :                         /* We didn't get it above, and the token is not needed after this. */
   14844           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   14845             :                 }
   14846           0 :                 switch (level) {
   14847           0 :                         case 1:
   14848           0 :                                 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
   14849           0 :                         break;
   14850             : 
   14851           0 :                         default:
   14852           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   14853             :                 }
   14854           0 :         }
   14855           0 :         return NDR_ERR_SUCCESS;
   14856             : }
   14857             : 
   14858           0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
   14859             : {
   14860             :         uint32_t level;
   14861           0 :         level = ndr_print_steal_switch_value(ndr, r);
   14862           0 :         ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
   14863           0 :         switch (level) {
   14864           0 :                 case 1:
   14865           0 :                         ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
   14866           0 :                 break;
   14867             : 
   14868           0 :                 default:
   14869           0 :                         ndr_print_bad_level(ndr, name, level);
   14870             :         }
   14871           0 : }
   14872             : 
   14873           0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
   14874             : {
   14875             :         uint32_t cntr_site_to_1;
   14876           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   14877           0 :         if (ndr_flags & NDR_SCALARS) {
   14878           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   14879           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
   14880           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
   14881           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
   14882           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
   14883           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   14884             :         }
   14885           0 :         if (ndr_flags & NDR_BUFFERS) {
   14886           0 :                 if (r->site_from) {
   14887           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
   14888           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14889           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
   14890           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14891             :                 }
   14892           0 :                 if (r->site_to) {
   14893           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
   14894           0 :                         for (cntr_site_to_1 = 0; cntr_site_to_1 < (r->num_req); cntr_site_to_1++) {
   14895           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
   14896             :                         }
   14897           0 :                         for (cntr_site_to_1 = 0; cntr_site_to_1 < (r->num_req); cntr_site_to_1++) {
   14898           0 :                                 if (r->site_to[cntr_site_to_1]) {
   14899           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
   14900           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14901           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
   14902           0 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_to[cntr_site_to_1], ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14903             :                                 }
   14904             :                         }
   14905             :                 }
   14906             :         }
   14907           0 :         return NDR_ERR_SUCCESS;
   14908             : }
   14909             : 
   14910           0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
   14911             : {
   14912             :         uint32_t _ptr_site_from;
   14913           0 :         uint32_t size_site_from_1 = 0;
   14914           0 :         uint32_t length_site_from_1 = 0;
   14915           0 :         TALLOC_CTX *_mem_save_site_from_0 = NULL;
   14916             :         uint32_t _ptr_site_to;
   14917           0 :         uint32_t size_site_to_1 = 0;
   14918             :         uint32_t cntr_site_to_1;
   14919           0 :         uint32_t size_site_to_3 = 0;
   14920           0 :         uint32_t length_site_to_3 = 0;
   14921           0 :         TALLOC_CTX *_mem_save_site_to_0 = NULL;
   14922           0 :         TALLOC_CTX *_mem_save_site_to_1 = NULL;
   14923           0 :         TALLOC_CTX *_mem_save_site_to_2 = NULL;
   14924           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   14925           0 :         if (ndr_flags & NDR_SCALARS) {
   14926           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   14927           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
   14928           0 :                 if (_ptr_site_from) {
   14929           0 :                         NDR_PULL_ALLOC(ndr, r->site_from);
   14930             :                 } else {
   14931           0 :                         r->site_from = NULL;
   14932             :                 }
   14933           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
   14934           0 :                 if (r->num_req < 1 || r->num_req > 10000) {
   14935           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   14936             :                 }
   14937           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
   14938           0 :                 if (_ptr_site_to) {
   14939           0 :                         NDR_PULL_ALLOC(ndr, r->site_to);
   14940             :                 } else {
   14941           0 :                         r->site_to = NULL;
   14942             :                 }
   14943           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
   14944           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   14945             :         }
   14946           0 :         if (ndr_flags & NDR_BUFFERS) {
   14947           0 :                 if (r->site_from) {
   14948           0 :                         _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14949           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
   14950           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
   14951           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
   14952           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_from, &size_site_from_1));
   14953           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_from, &length_site_from_1));
   14954           0 :                         if (length_site_from_1 > size_site_from_1) {
   14955           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_from_1, length_site_from_1);
   14956             :                         }
   14957           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_from_1, sizeof(uint16_t)));
   14958           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, length_site_from_1, sizeof(uint16_t), CH_UTF16));
   14959           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
   14960             :                 }
   14961           0 :                 if (r->site_to) {
   14962           0 :                         _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14963           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
   14964           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
   14965           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->site_to, &size_site_to_1));
   14966           0 :                         NDR_PULL_ALLOC_N(ndr, r->site_to, size_site_to_1);
   14967           0 :                         _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
   14968           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
   14969           0 :                         for (cntr_site_to_1 = 0; cntr_site_to_1 < (size_site_to_1); cntr_site_to_1++) {
   14970           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
   14971           0 :                                 if (_ptr_site_to) {
   14972           0 :                                         NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
   14973             :                                 } else {
   14974           0 :                                         r->site_to[cntr_site_to_1] = NULL;
   14975             :                                 }
   14976             :                         }
   14977           0 :                         for (cntr_site_to_1 = 0; cntr_site_to_1 < (size_site_to_1); cntr_site_to_1++) {
   14978           0 :                                 if (r->site_to[cntr_site_to_1]) {
   14979           0 :                                         _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
   14980           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
   14981           0 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
   14982           0 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
   14983           0 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_to[cntr_site_to_1], &size_site_to_3));
   14984           0 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_to[cntr_site_to_1], &length_site_to_3));
   14985           0 :                                         if (length_site_to_3 > size_site_to_3) {
   14986           0 :                                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_to_3, length_site_to_3);
   14987             :                                         }
   14988           0 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_to_3, sizeof(uint16_t)));
   14989           0 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], length_site_to_3, sizeof(uint16_t), CH_UTF16));
   14990           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
   14991             :                                 }
   14992             :                         }
   14993           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
   14994           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
   14995             :                 }
   14996           0 :                 if (r->site_to) {
   14997           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
   14998             :                 }
   14999           0 :                 for (cntr_site_to_1 = 0; cntr_site_to_1 < (size_site_to_1); cntr_site_to_1++) {
   15000             :                 }
   15001             :         }
   15002           0 :         return NDR_ERR_SUCCESS;
   15003             : }
   15004             : 
   15005           0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
   15006             : {
   15007             :         uint32_t cntr_site_to_1;
   15008           0 :         ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
   15009           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15010           0 :         ndr->depth++;
   15011           0 :         ndr_print_ptr(ndr, "site_from", r->site_from);
   15012           0 :         ndr->depth++;
   15013           0 :         if (r->site_from) {
   15014           0 :                 ndr_print_string(ndr, "site_from", r->site_from);
   15015             :         }
   15016           0 :         ndr->depth--;
   15017           0 :         ndr_print_uint32(ndr, "num_req", r->num_req);
   15018           0 :         ndr_print_ptr(ndr, "site_to", r->site_to);
   15019           0 :         ndr->depth++;
   15020           0 :         if (r->site_to) {
   15021           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
   15022           0 :                 ndr->depth++;
   15023           0 :                 for (cntr_site_to_1 = 0; cntr_site_to_1 < (r->num_req); cntr_site_to_1++) {
   15024           0 :                         ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
   15025           0 :                         ndr->depth++;
   15026           0 :                         if (r->site_to[cntr_site_to_1]) {
   15027           0 :                                 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
   15028             :                         }
   15029           0 :                         ndr->depth--;
   15030             :                 }
   15031           0 :                 ndr->depth--;
   15032             :         }
   15033           0 :         ndr->depth--;
   15034           0 :         ndr_print_uint32(ndr, "flags", r->flags);
   15035           0 :         ndr->depth--;
   15036             : }
   15037             : 
   15038           0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
   15039             : {
   15040             :         uint32_t level;
   15041           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   15042           0 :         if (ndr_flags & NDR_SCALARS) {
   15043             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   15044           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   15045           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   15046           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
   15047           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
   15048           0 :                 switch (level) {
   15049           0 :                         case 1: {
   15050           0 :                                 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
   15051           0 :                         break; }
   15052             : 
   15053           0 :                         default:
   15054           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   15055             :                 }
   15056           0 :         }
   15057           0 :         if (ndr_flags & NDR_BUFFERS) {
   15058           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   15059             :                         /* We didn't get it above, and the token is not needed after this. */
   15060           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
   15061             :                 }
   15062           0 :                 switch (level) {
   15063           0 :                         case 1:
   15064           0 :                                 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
   15065           0 :                         break;
   15066             : 
   15067           0 :                         default:
   15068           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
   15069             :                 }
   15070           0 :         }
   15071           0 :         return NDR_ERR_SUCCESS;
   15072             : }
   15073             : 
   15074           0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
   15075             : {
   15076             :         uint32_t level;
   15077             :         uint32_t _level;
   15078           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   15079           0 :         if (ndr_flags & NDR_SCALARS) {
   15080             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
   15081           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   15082           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   15083           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
   15084           0 :                 if (_level != level) {
   15085           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
   15086             :                 }
   15087           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
   15088           0 :                 switch (level) {
   15089           0 :                         case 1: {
   15090           0 :                                 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
   15091           0 :                         break; }
   15092             : 
   15093           0 :                         default:
   15094           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   15095             :                 }
   15096           0 :         }
   15097           0 :         if (ndr_flags & NDR_BUFFERS) {
   15098           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
   15099             :                         /* We didn't get it above, and the token is not needed after this. */
   15100           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
   15101             :                 }
   15102           0 :                 switch (level) {
   15103           0 :                         case 1:
   15104           0 :                                 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
   15105           0 :                         break;
   15106             : 
   15107           0 :                         default:
   15108           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
   15109             :                 }
   15110           0 :         }
   15111           0 :         return NDR_ERR_SUCCESS;
   15112             : }
   15113             : 
   15114           0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
   15115             : {
   15116             :         uint32_t level;
   15117           0 :         level = ndr_print_steal_switch_value(ndr, r);
   15118           0 :         ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
   15119           0 :         switch (level) {
   15120           0 :                 case 1:
   15121           0 :                         ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
   15122           0 :                 break;
   15123             : 
   15124           0 :                 default:
   15125           0 :                         ndr_print_bad_level(ndr, name, level);
   15126             :         }
   15127           0 : }
   15128             : 
   15129        4310 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
   15130             : {
   15131        4310 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15132        4310 :         if (flags & NDR_IN) {
   15133        2101 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
   15134        2101 :                 if (r->in.bind_guid) {
   15135        2101 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
   15136             :                 }
   15137        2101 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
   15138        2101 :                 if (r->in.bind_info) {
   15139        1441 :                         NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
   15140             :                 }
   15141             :         }
   15142        4310 :         if (flags & NDR_OUT) {
   15143        2209 :                 if (r->out.bind_handle == NULL) {
   15144           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15145             :                 }
   15146        2209 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
   15147        2209 :                 if (r->out.bind_info) {
   15148        2209 :                         NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
   15149             :                 }
   15150        2209 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
   15151        2209 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15152             :         }
   15153        4107 :         return NDR_ERR_SUCCESS;
   15154             : }
   15155             : 
   15156        4176 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
   15157             : {
   15158             :         uint32_t _ptr_bind_guid;
   15159             :         uint32_t _ptr_bind_info;
   15160        4176 :         TALLOC_CTX *_mem_save_bind_guid_0 = NULL;
   15161        4176 :         TALLOC_CTX *_mem_save_bind_info_0 = NULL;
   15162        4176 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15163        4176 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15164        4176 :         if (flags & NDR_IN) {
   15165        2089 :                 NDR_ZERO_STRUCT(r->out);
   15166             : 
   15167        2089 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
   15168        2089 :                 if (_ptr_bind_guid) {
   15169        2089 :                         NDR_PULL_ALLOC(ndr, r->in.bind_guid);
   15170             :                 } else {
   15171           0 :                         r->in.bind_guid = NULL;
   15172             :                 }
   15173        2089 :                 if (r->in.bind_guid) {
   15174        2089 :                         _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15175        2089 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
   15176        2089 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
   15177        2089 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
   15178             :                 }
   15179        2089 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
   15180        2089 :                 if (_ptr_bind_info) {
   15181        1437 :                         NDR_PULL_ALLOC(ndr, r->in.bind_info);
   15182             :                 } else {
   15183         652 :                         r->in.bind_info = NULL;
   15184             :                 }
   15185        2089 :                 if (r->in.bind_info) {
   15186        1437 :                         _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15187        1437 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
   15188        1437 :                         NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
   15189        1437 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
   15190             :                 }
   15191        2089 :                 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
   15192        2089 :                 NDR_ZERO_STRUCTP(r->out.bind_handle);
   15193             :         }
   15194        4176 :         if (flags & NDR_OUT) {
   15195             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15196             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15197        2087 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
   15198        2087 :                 if (_ptr_bind_info) {
   15199        2087 :                         NDR_PULL_ALLOC(ndr, r->out.bind_info);
   15200             :                 } else {
   15201           0 :                         r->out.bind_info = NULL;
   15202             :                 }
   15203        2087 :                 if (r->out.bind_info) {
   15204        2087 :                         _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15205        2087 :                         NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
   15206        2087 :                         NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
   15207        2087 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
   15208             :                 }
   15209        2087 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15210        1519 :                         NDR_PULL_ALLOC(ndr, r->out.bind_handle);
   15211             :                 }
   15212        2087 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15213        2087 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15214        2087 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
   15215        2087 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15216        2087 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15217             :         }
   15218        3989 :         return NDR_ERR_SUCCESS;
   15219             : }
   15220             : 
   15221         352 : _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
   15222             : {
   15223         352 :         ndr_print_struct(ndr, name, "drsuapi_DsBind");
   15224         352 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15225         352 :         ndr->depth++;
   15226         352 :         if (flags & NDR_SET_VALUES) {
   15227          48 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15228             :         }
   15229         352 :         if (flags & NDR_IN) {
   15230          48 :                 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
   15231          48 :                 ndr->depth++;
   15232          48 :                 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
   15233          48 :                 ndr->depth++;
   15234          48 :                 if (r->in.bind_guid) {
   15235          48 :                         ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
   15236             :                 }
   15237          48 :                 ndr->depth--;
   15238          48 :                 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
   15239          48 :                 ndr->depth++;
   15240          48 :                 if (r->in.bind_info) {
   15241          48 :                         ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
   15242             :                 }
   15243          48 :                 ndr->depth--;
   15244          48 :                 ndr->depth--;
   15245             :         }
   15246         352 :         if (flags & NDR_OUT) {
   15247         304 :                 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
   15248         304 :                 ndr->depth++;
   15249         304 :                 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
   15250         304 :                 ndr->depth++;
   15251         304 :                 if (r->out.bind_info) {
   15252         304 :                         ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
   15253             :                 }
   15254         304 :                 ndr->depth--;
   15255         304 :                 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
   15256         304 :                 ndr->depth++;
   15257         304 :                 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
   15258         304 :                 ndr->depth--;
   15259         304 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15260         304 :                 ndr->depth--;
   15261             :         }
   15262         352 :         ndr->depth--;
   15263             : }
   15264             : 
   15265          54 : static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
   15266             : {
   15267          54 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15268          54 :         if (flags & NDR_IN) {
   15269          29 :                 if (r->in.bind_handle == NULL) {
   15270           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15271             :                 }
   15272          29 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15273             :         }
   15274          54 :         if (flags & NDR_OUT) {
   15275          25 :                 if (r->out.bind_handle == NULL) {
   15276           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15277             :                 }
   15278          25 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
   15279          25 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15280             :         }
   15281          50 :         return NDR_ERR_SUCCESS;
   15282             : }
   15283             : 
   15284          50 : static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
   15285             : {
   15286          50 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15287          50 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15288          50 :         if (flags & NDR_IN) {
   15289          29 :                 NDR_ZERO_STRUCT(r->out);
   15290             : 
   15291          29 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15292          29 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15293             :                 }
   15294          29 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15295          29 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15296          29 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15297          29 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15298          29 :                 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
   15299          29 :                 *r->out.bind_handle = *r->in.bind_handle;
   15300             :         }
   15301          50 :         if (flags & NDR_OUT) {
   15302             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15303             :                 if (r->in.bind_handle == NULL) {
   15304             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15305             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   15306             :                 }
   15307             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15308          21 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15309           5 :                         NDR_PULL_ALLOC(ndr, r->out.bind_handle);
   15310             :                 }
   15311          21 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15312          21 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15313          21 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
   15314          21 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15315          21 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15316             :         }
   15317          46 :         return NDR_ERR_SUCCESS;
   15318             : }
   15319             : 
   15320           8 : _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
   15321             : {
   15322           8 :         ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
   15323           8 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15324           8 :         ndr->depth++;
   15325           8 :         if (flags & NDR_SET_VALUES) {
   15326           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15327             :         }
   15328           8 :         if (flags & NDR_IN) {
   15329           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
   15330           0 :                 ndr->depth++;
   15331           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   15332           0 :                 ndr->depth++;
   15333           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   15334           0 :                 ndr->depth--;
   15335           0 :                 ndr->depth--;
   15336             :         }
   15337           8 :         if (flags & NDR_OUT) {
   15338           8 :                 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
   15339           8 :                 ndr->depth++;
   15340           8 :                 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
   15341           8 :                 ndr->depth++;
   15342           8 :                 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
   15343           8 :                 ndr->depth--;
   15344           8 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15345           8 :                 ndr->depth--;
   15346             :         }
   15347           8 :         ndr->depth--;
   15348             : }
   15349             : 
   15350       11000 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
   15351             : {
   15352       11000 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15353       11000 :         if (flags & NDR_IN) {
   15354        5500 :                 if (r->in.bind_handle == NULL) {
   15355           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15356             :                 }
   15357        5500 :                 if (r->in.req == NULL) {
   15358           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15359             :                 }
   15360        5500 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15361        5500 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   15362        5500 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   15363        5500 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   15364             :         }
   15365       11000 :         if (flags & NDR_OUT) {
   15366        5500 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15367             :         }
   15368       11000 :         return NDR_ERR_SUCCESS;
   15369             : }
   15370             : 
   15371       11000 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
   15372             : {
   15373       11000 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15374       11000 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   15375       11000 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15376       11000 :         if (flags & NDR_IN) {
   15377        5500 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15378        5500 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15379             :                 }
   15380        5500 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15381        5500 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15382        5500 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15383        5500 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15384        5500 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   15385        5500 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15386        5500 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   15387             :                 }
   15388        5500 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15389        5500 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   15390        5500 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   15391        5500 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   15392        5500 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   15393             :         }
   15394       11000 :         if (flags & NDR_OUT) {
   15395             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15396             :                 if (r->in.bind_handle == NULL) {
   15397             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15398             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   15399             :                 }
   15400             :                 if (r->in.req == NULL) {
   15401             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   15402             :                         NDR_ZERO_STRUCTP(r->in.req);
   15403             :                 }
   15404             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15405        5500 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15406             :         }
   15407       11000 :         return NDR_ERR_SUCCESS;
   15408             : }
   15409             : 
   15410           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
   15411             : {
   15412           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
   15413           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15414           0 :         ndr->depth++;
   15415           0 :         if (flags & NDR_SET_VALUES) {
   15416           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15417             :         }
   15418           0 :         if (flags & NDR_IN) {
   15419           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
   15420           0 :                 ndr->depth++;
   15421           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   15422           0 :                 ndr->depth++;
   15423           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   15424           0 :                 ndr->depth--;
   15425           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   15426           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   15427           0 :                 ndr->depth++;
   15428           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   15429           0 :                 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
   15430           0 :                 ndr->depth--;
   15431           0 :                 ndr->depth--;
   15432             :         }
   15433           0 :         if (flags & NDR_OUT) {
   15434           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
   15435           0 :                 ndr->depth++;
   15436           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15437           0 :                 ndr->depth--;
   15438             :         }
   15439           0 :         ndr->depth--;
   15440             : }
   15441             : 
   15442       14554 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
   15443             : {
   15444       14554 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15445       14554 :         if (flags & NDR_IN) {
   15446        7266 :                 if (r->in.bind_handle == NULL) {
   15447           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15448             :                 }
   15449        7266 :                 if (r->in.req == NULL) {
   15450           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15451             :                 }
   15452        7266 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15453        7266 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   15454        7266 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   15455        7266 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   15456             :         }
   15457       14554 :         if (flags & NDR_OUT) {
   15458        7288 :                 if (r->out.level_out == NULL) {
   15459           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15460             :                 }
   15461        7288 :                 if (r->out.ctr == NULL) {
   15462           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15463             :                 }
   15464        7288 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   15465        7288 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   15466        7288 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   15467        7288 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15468             :         }
   15469       14554 :         return NDR_ERR_SUCCESS;
   15470             : }
   15471             : 
   15472       14534 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
   15473             : {
   15474       14534 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15475       14534 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   15476       14534 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   15477       14534 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   15478       14534 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15479       14534 :         if (flags & NDR_IN) {
   15480        7266 :                 NDR_ZERO_STRUCT(r->out);
   15481             : 
   15482        7266 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15483        7266 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15484             :                 }
   15485        7266 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15486        7266 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15487        7266 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15488        7266 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15489        7266 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   15490        7266 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15491        7266 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   15492             :                 }
   15493        7266 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15494        7266 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   15495        7266 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   15496        7266 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   15497        7266 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   15498        7266 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   15499        7266 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   15500        7266 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   15501        7266 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   15502             :         }
   15503       14534 :         if (flags & NDR_OUT) {
   15504             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15505             :                 if (r->in.bind_handle == NULL) {
   15506             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15507             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   15508             :                 }
   15509             :                 if (r->in.req == NULL) {
   15510             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   15511             :                         NDR_ZERO_STRUCTP(r->in.req);
   15512             :                 }
   15513             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15514        7268 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15515        2060 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   15516             :                 }
   15517        7268 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15518        7268 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   15519        7268 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   15520        7268 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   15521        7268 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15522        2060 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   15523             :                 }
   15524        7268 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15525        7268 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   15526        7268 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   15527        7268 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   15528        7267 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   15529        7267 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15530             :         }
   15531       14532 :         return NDR_ERR_SUCCESS;
   15532             : }
   15533             : 
   15534         165 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
   15535             : {
   15536         165 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
   15537         165 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15538         165 :         ndr->depth++;
   15539         165 :         if (flags & NDR_SET_VALUES) {
   15540          60 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15541             :         }
   15542         165 :         if (flags & NDR_IN) {
   15543          60 :                 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
   15544          60 :                 ndr->depth++;
   15545          60 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   15546          60 :                 ndr->depth++;
   15547          60 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   15548          60 :                 ndr->depth--;
   15549          60 :                 ndr_print_uint32(ndr, "level", r->in.level);
   15550          60 :                 ndr_print_ptr(ndr, "req", r->in.req);
   15551          60 :                 ndr->depth++;
   15552          60 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   15553          60 :                 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
   15554          60 :                 ndr->depth--;
   15555          60 :                 ndr->depth--;
   15556             :         }
   15557         165 :         if (flags & NDR_OUT) {
   15558         105 :                 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
   15559         105 :                 ndr->depth++;
   15560         105 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   15561         105 :                 ndr->depth++;
   15562         105 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   15563         105 :                 ndr->depth--;
   15564         105 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   15565         105 :                 ndr->depth++;
   15566         105 :                 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
   15567         105 :                 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
   15568         105 :                 ndr->depth--;
   15569         105 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15570         105 :                 ndr->depth--;
   15571             :         }
   15572         165 :         ndr->depth--;
   15573             : }
   15574             : 
   15575        3880 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
   15576             : {
   15577        3880 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15578        3880 :         if (flags & NDR_IN) {
   15579        1940 :                 if (r->in.bind_handle == NULL) {
   15580           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15581             :                 }
   15582        1940 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15583        1940 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   15584        1940 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
   15585        1940 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
   15586             :         }
   15587        3880 :         if (flags & NDR_OUT) {
   15588        1940 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15589             :         }
   15590        3880 :         return NDR_ERR_SUCCESS;
   15591             : }
   15592             : 
   15593        3880 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
   15594             : {
   15595        3880 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15596        3880 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15597        3880 :         if (flags & NDR_IN) {
   15598        1940 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15599        1940 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15600             :                 }
   15601        1940 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15602        1940 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15603        1940 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15604        1940 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15605        1940 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   15606        1940 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
   15607        1940 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
   15608             :         }
   15609        3880 :         if (flags & NDR_OUT) {
   15610             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15611             :                 if (r->in.bind_handle == NULL) {
   15612             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15613             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   15614             :                 }
   15615             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15616        1940 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15617             :         }
   15618        3880 :         return NDR_ERR_SUCCESS;
   15619             : }
   15620             : 
   15621           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
   15622             : {
   15623           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
   15624           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15625           0 :         ndr->depth++;
   15626           0 :         if (flags & NDR_SET_VALUES) {
   15627           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15628             :         }
   15629           0 :         if (flags & NDR_IN) {
   15630           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
   15631           0 :                 ndr->depth++;
   15632           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   15633           0 :                 ndr->depth++;
   15634           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   15635           0 :                 ndr->depth--;
   15636           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   15637           0 :                 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
   15638           0 :                 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
   15639           0 :                 ndr->depth--;
   15640             :         }
   15641           0 :         if (flags & NDR_OUT) {
   15642           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
   15643           0 :                 ndr->depth++;
   15644           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15645           0 :                 ndr->depth--;
   15646             :         }
   15647           0 :         ndr->depth--;
   15648             : }
   15649             : 
   15650           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
   15651             : {
   15652           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15653           0 :         if (flags & NDR_IN) {
   15654           0 :                 if (r->in.bind_handle == NULL) {
   15655           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15656             :                 }
   15657           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15658           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   15659           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
   15660           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
   15661             :         }
   15662           0 :         if (flags & NDR_OUT) {
   15663           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15664             :         }
   15665           0 :         return NDR_ERR_SUCCESS;
   15666             : }
   15667             : 
   15668           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
   15669             : {
   15670           0 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15671           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15672           0 :         if (flags & NDR_IN) {
   15673           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15674           0 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15675             :                 }
   15676           0 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15677           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15678           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15679           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15680           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   15681           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
   15682           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
   15683             :         }
   15684           0 :         if (flags & NDR_OUT) {
   15685             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15686             :                 if (r->in.bind_handle == NULL) {
   15687             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15688             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   15689             :                 }
   15690             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15691           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15692             :         }
   15693           0 :         return NDR_ERR_SUCCESS;
   15694             : }
   15695             : 
   15696           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
   15697             : {
   15698           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
   15699           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15700           0 :         ndr->depth++;
   15701           0 :         if (flags & NDR_SET_VALUES) {
   15702           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15703             :         }
   15704           0 :         if (flags & NDR_IN) {
   15705           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
   15706           0 :                 ndr->depth++;
   15707           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   15708           0 :                 ndr->depth++;
   15709           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   15710           0 :                 ndr->depth--;
   15711           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   15712           0 :                 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
   15713           0 :                 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
   15714           0 :                 ndr->depth--;
   15715             :         }
   15716           0 :         if (flags & NDR_OUT) {
   15717           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
   15718           0 :                 ndr->depth++;
   15719           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15720           0 :                 ndr->depth--;
   15721             :         }
   15722           0 :         ndr->depth--;
   15723             : }
   15724             : 
   15725           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
   15726             : {
   15727           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15728           0 :         if (flags & NDR_IN) {
   15729           0 :                 if (r->in.bind_handle == NULL) {
   15730           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15731             :                 }
   15732           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15733           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   15734           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
   15735           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
   15736             :         }
   15737           0 :         if (flags & NDR_OUT) {
   15738           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15739             :         }
   15740           0 :         return NDR_ERR_SUCCESS;
   15741             : }
   15742             : 
   15743           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
   15744             : {
   15745           0 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15746           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15747           0 :         if (flags & NDR_IN) {
   15748           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15749           0 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15750             :                 }
   15751           0 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15752           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15753           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15754           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15755           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   15756           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
   15757           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
   15758             :         }
   15759           0 :         if (flags & NDR_OUT) {
   15760             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15761             :                 if (r->in.bind_handle == NULL) {
   15762             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15763             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   15764             :                 }
   15765             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15766           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15767             :         }
   15768           0 :         return NDR_ERR_SUCCESS;
   15769             : }
   15770             : 
   15771           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
   15772             : {
   15773           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
   15774           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15775           0 :         ndr->depth++;
   15776           0 :         if (flags & NDR_SET_VALUES) {
   15777           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15778             :         }
   15779           0 :         if (flags & NDR_IN) {
   15780           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
   15781           0 :                 ndr->depth++;
   15782           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   15783           0 :                 ndr->depth++;
   15784           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   15785           0 :                 ndr->depth--;
   15786           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   15787           0 :                 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
   15788           0 :                 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
   15789           0 :                 ndr->depth--;
   15790             :         }
   15791           0 :         if (flags & NDR_OUT) {
   15792           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
   15793           0 :                 ndr->depth++;
   15794           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15795           0 :                 ndr->depth--;
   15796             :         }
   15797           0 :         ndr->depth--;
   15798             : }
   15799             : 
   15800           0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
   15801             : {
   15802           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15803           0 :         if (flags & NDR_IN) {
   15804           0 :                 if (r->in.bind_handle == NULL) {
   15805           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15806             :                 }
   15807           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15808           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   15809           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
   15810           0 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
   15811             :         }
   15812           0 :         if (flags & NDR_OUT) {
   15813           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15814             :         }
   15815           0 :         return NDR_ERR_SUCCESS;
   15816             : }
   15817             : 
   15818           0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
   15819             : {
   15820           0 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15821           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15822           0 :         if (flags & NDR_IN) {
   15823           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15824           0 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15825             :                 }
   15826           0 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15827           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15828           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15829           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15830           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   15831           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
   15832           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
   15833             :         }
   15834           0 :         if (flags & NDR_OUT) {
   15835             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15836             :                 if (r->in.bind_handle == NULL) {
   15837             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15838             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   15839             :                 }
   15840             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15841           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15842             :         }
   15843           0 :         return NDR_ERR_SUCCESS;
   15844             : }
   15845             : 
   15846           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
   15847             : {
   15848           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
   15849           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15850           0 :         ndr->depth++;
   15851           0 :         if (flags & NDR_SET_VALUES) {
   15852           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15853             :         }
   15854           0 :         if (flags & NDR_IN) {
   15855           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
   15856           0 :                 ndr->depth++;
   15857           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   15858           0 :                 ndr->depth++;
   15859           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   15860           0 :                 ndr->depth--;
   15861           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   15862           0 :                 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
   15863           0 :                 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
   15864           0 :                 ndr->depth--;
   15865             :         }
   15866           0 :         if (flags & NDR_OUT) {
   15867           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
   15868           0 :                 ndr->depth++;
   15869           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15870           0 :                 ndr->depth--;
   15871             :         }
   15872           0 :         ndr->depth--;
   15873             : }
   15874             : 
   15875           0 : static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
   15876             : {
   15877           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15878           0 :         if (flags & NDR_IN) {
   15879             :         }
   15880           0 :         if (flags & NDR_OUT) {
   15881           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15882             :         }
   15883           0 :         return NDR_ERR_SUCCESS;
   15884             : }
   15885             : 
   15886           0 : static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
   15887             : {
   15888           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15889           0 :         if (flags & NDR_IN) {
   15890             :         }
   15891           0 :         if (flags & NDR_OUT) {
   15892             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15893             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15894           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15895             :         }
   15896           0 :         return NDR_ERR_SUCCESS;
   15897             : }
   15898             : 
   15899           0 : _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
   15900             : {
   15901           0 :         ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
   15902           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15903           0 :         ndr->depth++;
   15904           0 :         if (flags & NDR_SET_VALUES) {
   15905           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15906             :         }
   15907           0 :         if (flags & NDR_IN) {
   15908           0 :                 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
   15909           0 :                 ndr->depth++;
   15910           0 :                 ndr->depth--;
   15911             :         }
   15912           0 :         if (flags & NDR_OUT) {
   15913           0 :                 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
   15914           0 :                 ndr->depth++;
   15915           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15916           0 :                 ndr->depth--;
   15917             :         }
   15918           0 :         ndr->depth--;
   15919             : }
   15920             : 
   15921           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
   15922             : {
   15923           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15924           0 :         if (flags & NDR_IN) {
   15925           0 :                 if (r->in.bind_handle == NULL) {
   15926           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15927             :                 }
   15928           0 :                 if (r->in.req == NULL) {
   15929           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15930             :                 }
   15931           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15932           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   15933           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   15934           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   15935             :         }
   15936           0 :         if (flags & NDR_OUT) {
   15937           0 :                 if (r->out.level_out == NULL) {
   15938           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15939             :                 }
   15940           0 :                 if (r->out.ctr == NULL) {
   15941           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15942             :                 }
   15943           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   15944           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   15945           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   15946           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15947             :         }
   15948           0 :         return NDR_ERR_SUCCESS;
   15949             : }
   15950             : 
   15951           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
   15952             : {
   15953           0 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   15954           0 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   15955           0 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   15956           0 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   15957           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15958           0 :         if (flags & NDR_IN) {
   15959           0 :                 NDR_ZERO_STRUCT(r->out);
   15960             : 
   15961           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15962           0 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15963             :                 }
   15964           0 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15965           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   15966           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   15967           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   15968           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   15969           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15970           0 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   15971             :                 }
   15972           0 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15973           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   15974           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   15975           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   15976           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   15977           0 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   15978           0 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   15979           0 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   15980           0 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   15981             :         }
   15982           0 :         if (flags & NDR_OUT) {
   15983             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15984             :                 if (r->in.bind_handle == NULL) {
   15985             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   15986             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   15987             :                 }
   15988             :                 if (r->in.req == NULL) {
   15989             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   15990             :                         NDR_ZERO_STRUCTP(r->in.req);
   15991             :                 }
   15992             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15993           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15994           0 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   15995             :                 }
   15996           0 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15997           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   15998           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   15999           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   16000           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16001           0 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   16002             :                 }
   16003           0 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16004           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   16005           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   16006           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   16007           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   16008           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16009             :         }
   16010           0 :         return NDR_ERR_SUCCESS;
   16011             : }
   16012             : 
   16013           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
   16014             : {
   16015           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
   16016           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16017           0 :         ndr->depth++;
   16018           0 :         if (flags & NDR_SET_VALUES) {
   16019           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16020             :         }
   16021           0 :         if (flags & NDR_IN) {
   16022           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
   16023           0 :                 ndr->depth++;
   16024           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   16025           0 :                 ndr->depth++;
   16026           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   16027           0 :                 ndr->depth--;
   16028           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   16029           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   16030           0 :                 ndr->depth++;
   16031           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   16032           0 :                 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
   16033           0 :                 ndr->depth--;
   16034           0 :                 ndr->depth--;
   16035             :         }
   16036           0 :         if (flags & NDR_OUT) {
   16037           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
   16038           0 :                 ndr->depth++;
   16039           0 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   16040           0 :                 ndr->depth++;
   16041           0 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   16042           0 :                 ndr->depth--;
   16043           0 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   16044           0 :                 ndr->depth++;
   16045           0 :                 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
   16046           0 :                 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
   16047           0 :                 ndr->depth--;
   16048           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16049           0 :                 ndr->depth--;
   16050             :         }
   16051           0 :         ndr->depth--;
   16052             : }
   16053             : 
   16054           0 : static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
   16055             : {
   16056           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16057           0 :         if (flags & NDR_IN) {
   16058             :         }
   16059           0 :         if (flags & NDR_OUT) {
   16060           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16061             :         }
   16062           0 :         return NDR_ERR_SUCCESS;
   16063             : }
   16064             : 
   16065           0 : static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
   16066             : {
   16067           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16068           0 :         if (flags & NDR_IN) {
   16069             :         }
   16070           0 :         if (flags & NDR_OUT) {
   16071             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16072             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16073           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16074             :         }
   16075           0 :         return NDR_ERR_SUCCESS;
   16076             : }
   16077             : 
   16078           0 : _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
   16079             : {
   16080           0 :         ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
   16081           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16082           0 :         ndr->depth++;
   16083           0 :         if (flags & NDR_SET_VALUES) {
   16084           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16085             :         }
   16086           0 :         if (flags & NDR_IN) {
   16087           0 :                 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
   16088           0 :                 ndr->depth++;
   16089           0 :                 ndr->depth--;
   16090             :         }
   16091           0 :         if (flags & NDR_OUT) {
   16092           0 :                 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
   16093           0 :                 ndr->depth++;
   16094           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16095           0 :                 ndr->depth--;
   16096             :         }
   16097           0 :         ndr->depth--;
   16098             : }
   16099             : 
   16100           4 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
   16101             : {
   16102           4 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16103           4 :         if (flags & NDR_IN) {
   16104           4 :                 if (r->in.bind_handle == NULL) {
   16105           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16106             :                 }
   16107           4 :                 if (r->in.req == NULL) {
   16108           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16109             :                 }
   16110           4 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16111           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   16112           4 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   16113           4 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16114             :         }
   16115           4 :         if (flags & NDR_OUT) {
   16116           0 :                 if (r->out.level_out == NULL) {
   16117           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16118             :                 }
   16119           0 :                 if (r->out.info == NULL) {
   16120           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16121             :                 }
   16122           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   16123           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
   16124           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   16125           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16126             :         }
   16127           4 :         return NDR_ERR_SUCCESS;
   16128             : }
   16129             : 
   16130           4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
   16131             : {
   16132           4 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   16133           4 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   16134           4 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   16135           4 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   16136           4 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16137           4 :         if (flags & NDR_IN) {
   16138           4 :                 NDR_ZERO_STRUCT(r->out);
   16139             : 
   16140           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16141           4 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16142             :                 }
   16143           4 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16144           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   16145           4 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16146           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   16147           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   16148           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16149           4 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16150             :                 }
   16151           4 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16152           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   16153           4 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   16154           4 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16155           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   16156           4 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   16157           4 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   16158           4 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   16159           4 :                 NDR_ZERO_STRUCTP(r->out.info);
   16160             :         }
   16161           4 :         if (flags & NDR_OUT) {
   16162             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16163             :                 if (r->in.bind_handle == NULL) {
   16164             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16165             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   16166             :                 }
   16167             :                 if (r->in.req == NULL) {
   16168             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16169             :                         NDR_ZERO_STRUCTP(r->in.req);
   16170             :                 }
   16171             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16172           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16173           0 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   16174             :                 }
   16175           0 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16176           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   16177           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   16178           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   16179           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16180           0 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   16181             :                 }
   16182           0 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16183           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   16184           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
   16185           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   16186           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   16187           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16188             :         }
   16189           4 :         return NDR_ERR_SUCCESS;
   16190             : }
   16191             : 
   16192           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
   16193             : {
   16194           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
   16195           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16196           0 :         ndr->depth++;
   16197           0 :         if (flags & NDR_SET_VALUES) {
   16198           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16199             :         }
   16200           0 :         if (flags & NDR_IN) {
   16201           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
   16202           0 :                 ndr->depth++;
   16203           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   16204           0 :                 ndr->depth++;
   16205           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   16206           0 :                 ndr->depth--;
   16207           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   16208           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   16209           0 :                 ndr->depth++;
   16210           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   16211           0 :                 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
   16212           0 :                 ndr->depth--;
   16213           0 :                 ndr->depth--;
   16214             :         }
   16215           0 :         if (flags & NDR_OUT) {
   16216           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
   16217           0 :                 ndr->depth++;
   16218           0 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   16219           0 :                 ndr->depth++;
   16220           0 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   16221           0 :                 ndr->depth--;
   16222           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
   16223           0 :                 ndr->depth++;
   16224           0 :                 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
   16225           0 :                 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
   16226           0 :                 ndr->depth--;
   16227           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16228           0 :                 ndr->depth--;
   16229             :         }
   16230           0 :         ndr->depth--;
   16231             : }
   16232             : 
   16233        3564 : static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
   16234             : {
   16235        3564 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16236        3564 :         if (flags & NDR_IN) {
   16237        1660 :                 if (r->in.bind_handle == NULL) {
   16238           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16239             :                 }
   16240        1660 :                 if (r->in.req == NULL) {
   16241           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16242             :                 }
   16243        1660 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16244        1660 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   16245        1660 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   16246        1660 :                 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16247             :         }
   16248        3564 :         if (flags & NDR_OUT) {
   16249        1904 :                 if (r->out.level_out == NULL) {
   16250           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16251             :                 }
   16252        1904 :                 if (r->out.ctr == NULL) {
   16253           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16254             :                 }
   16255        1904 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   16256        1904 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   16257        1904 :                 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   16258        1904 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16259             :         }
   16260        3168 :         return NDR_ERR_SUCCESS;
   16261             : }
   16262             : 
   16263        3320 : static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
   16264             : {
   16265        3320 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   16266        3320 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   16267        3320 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   16268        3320 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   16269        3320 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16270        3320 :         if (flags & NDR_IN) {
   16271        1660 :                 NDR_ZERO_STRUCT(r->out);
   16272             : 
   16273        1660 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16274        1660 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16275             :                 }
   16276        1660 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16277        1660 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   16278        1660 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16279        1660 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   16280        1660 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   16281        1660 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16282        1660 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16283             :                 }
   16284        1660 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16285        1660 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   16286        1660 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   16287        1660 :                 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16288        1660 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   16289        1660 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   16290        1660 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   16291        1660 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   16292        1660 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   16293             :         }
   16294        3320 :         if (flags & NDR_OUT) {
   16295             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16296             :                 if (r->in.bind_handle == NULL) {
   16297             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16298             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   16299             :                 }
   16300             :                 if (r->in.req == NULL) {
   16301             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16302             :                         NDR_ZERO_STRUCTP(r->in.req);
   16303             :                 }
   16304             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16305        1660 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16306         268 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   16307             :                 }
   16308        1660 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16309        1660 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   16310        1660 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   16311        1660 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   16312        1660 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16313         268 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   16314             :                 }
   16315        1660 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16316        1660 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   16317        1660 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   16318        1660 :                 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   16319        1660 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   16320        1660 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16321             :         }
   16322        2960 :         return NDR_ERR_SUCCESS;
   16323             : }
   16324             : 
   16325         488 : _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
   16326             : {
   16327         488 :         ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
   16328         488 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16329         488 :         ndr->depth++;
   16330         488 :         if (flags & NDR_SET_VALUES) {
   16331           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16332             :         }
   16333         488 :         if (flags & NDR_IN) {
   16334           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
   16335           0 :                 ndr->depth++;
   16336           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   16337           0 :                 ndr->depth++;
   16338           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   16339           0 :                 ndr->depth--;
   16340           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   16341           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   16342           0 :                 ndr->depth++;
   16343           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   16344           0 :                 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
   16345           0 :                 ndr->depth--;
   16346           0 :                 ndr->depth--;
   16347             :         }
   16348         488 :         if (flags & NDR_OUT) {
   16349         488 :                 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
   16350         488 :                 ndr->depth++;
   16351         488 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   16352         488 :                 ndr->depth++;
   16353         488 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   16354         488 :                 ndr->depth--;
   16355         488 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   16356         488 :                 ndr->depth++;
   16357         488 :                 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
   16358         488 :                 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
   16359         488 :                 ndr->depth--;
   16360         488 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16361         488 :                 ndr->depth--;
   16362             :         }
   16363         488 :         ndr->depth--;
   16364             : }
   16365             : 
   16366           8 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
   16367             : {
   16368           8 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16369           8 :         if (flags & NDR_IN) {
   16370           4 :                 if (r->in.bind_handle == NULL) {
   16371           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16372             :                 }
   16373           4 :                 if (r->in.req == NULL) {
   16374           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16375             :                 }
   16376           4 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16377           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   16378           4 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   16379           4 :                 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16380             :         }
   16381           8 :         if (flags & NDR_OUT) {
   16382           4 :                 if (r->out.level_out == NULL) {
   16383           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16384             :                 }
   16385           4 :                 if (r->out.res == NULL) {
   16386           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16387             :                 }
   16388           4 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   16389           4 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
   16390           4 :                 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
   16391           4 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16392             :         }
   16393           8 :         return NDR_ERR_SUCCESS;
   16394             : }
   16395             : 
   16396           8 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
   16397             : {
   16398           8 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   16399           8 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   16400           8 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   16401           8 :         TALLOC_CTX *_mem_save_res_0 = NULL;
   16402           8 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16403           8 :         if (flags & NDR_IN) {
   16404           4 :                 NDR_ZERO_STRUCT(r->out);
   16405             : 
   16406           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16407           4 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16408             :                 }
   16409           4 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16410           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   16411           4 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16412           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   16413           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   16414           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16415           4 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16416             :                 }
   16417           4 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16418           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   16419           4 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   16420           4 :                 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16421           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   16422           4 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   16423           4 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   16424           4 :                 NDR_PULL_ALLOC(ndr, r->out.res);
   16425           4 :                 NDR_ZERO_STRUCTP(r->out.res);
   16426             :         }
   16427           8 :         if (flags & NDR_OUT) {
   16428             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16429             :                 if (r->in.bind_handle == NULL) {
   16430             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16431             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   16432             :                 }
   16433             :                 if (r->in.req == NULL) {
   16434             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16435             :                         NDR_ZERO_STRUCTP(r->in.req);
   16436             :                 }
   16437             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16438           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16439           2 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   16440             :                 }
   16441           4 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16442           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   16443           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   16444           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   16445           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16446           2 :                         NDR_PULL_ALLOC(ndr, r->out.res);
   16447             :                 }
   16448           4 :                 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16449           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
   16450           4 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
   16451           4 :                 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
   16452           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
   16453           4 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16454             :         }
   16455           8 :         return NDR_ERR_SUCCESS;
   16456             : }
   16457             : 
   16458           0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
   16459             : {
   16460           0 :         ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
   16461           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16462           0 :         ndr->depth++;
   16463           0 :         if (flags & NDR_SET_VALUES) {
   16464           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16465             :         }
   16466           0 :         if (flags & NDR_IN) {
   16467           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
   16468           0 :                 ndr->depth++;
   16469           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   16470           0 :                 ndr->depth++;
   16471           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   16472           0 :                 ndr->depth--;
   16473           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   16474           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   16475           0 :                 ndr->depth++;
   16476           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   16477           0 :                 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
   16478           0 :                 ndr->depth--;
   16479           0 :                 ndr->depth--;
   16480             :         }
   16481           0 :         if (flags & NDR_OUT) {
   16482           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
   16483           0 :                 ndr->depth++;
   16484           0 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   16485           0 :                 ndr->depth++;
   16486           0 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   16487           0 :                 ndr->depth--;
   16488           0 :                 ndr_print_ptr(ndr, "res", r->out.res);
   16489           0 :                 ndr->depth++;
   16490           0 :                 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
   16491           0 :                 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
   16492           0 :                 ndr->depth--;
   16493           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16494           0 :                 ndr->depth--;
   16495             :         }
   16496           0 :         ndr->depth--;
   16497             : }
   16498             : 
   16499          14 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
   16500             : {
   16501          14 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16502          14 :         if (flags & NDR_IN) {
   16503           7 :                 if (r->in.bind_handle == NULL) {
   16504           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16505             :                 }
   16506           7 :                 if (r->in.req == NULL) {
   16507           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16508             :                 }
   16509           7 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16510           7 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   16511           7 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   16512           7 :                 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16513             :         }
   16514          14 :         if (flags & NDR_OUT) {
   16515           7 :                 if (r->out.level_out == NULL) {
   16516           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16517             :                 }
   16518           7 :                 if (r->out.res == NULL) {
   16519           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16520             :                 }
   16521           7 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   16522           7 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
   16523           7 :                 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
   16524           7 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16525             :         }
   16526          14 :         return NDR_ERR_SUCCESS;
   16527             : }
   16528             : 
   16529          14 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
   16530             : {
   16531          14 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   16532          14 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   16533          14 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   16534          14 :         TALLOC_CTX *_mem_save_res_0 = NULL;
   16535          14 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16536          14 :         if (flags & NDR_IN) {
   16537           7 :                 NDR_ZERO_STRUCT(r->out);
   16538             : 
   16539           7 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16540           7 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16541             :                 }
   16542           7 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16543           7 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   16544           7 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16545           7 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   16546           7 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   16547           7 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16548           7 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16549             :                 }
   16550           7 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16551           7 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   16552           7 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   16553           7 :                 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16554           7 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   16555           7 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   16556           7 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   16557           7 :                 NDR_PULL_ALLOC(ndr, r->out.res);
   16558           7 :                 NDR_ZERO_STRUCTP(r->out.res);
   16559             :         }
   16560          14 :         if (flags & NDR_OUT) {
   16561             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16562             :                 if (r->in.bind_handle == NULL) {
   16563             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16564             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   16565             :                 }
   16566             :                 if (r->in.req == NULL) {
   16567             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16568             :                         NDR_ZERO_STRUCTP(r->in.req);
   16569             :                 }
   16570             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16571           7 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16572           3 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   16573             :                 }
   16574           7 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16575           7 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   16576           7 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   16577           7 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   16578           7 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16579           3 :                         NDR_PULL_ALLOC(ndr, r->out.res);
   16580             :                 }
   16581           7 :                 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16582           7 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
   16583           7 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
   16584           7 :                 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
   16585           7 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
   16586           7 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16587             :         }
   16588          14 :         return NDR_ERR_SUCCESS;
   16589             : }
   16590             : 
   16591           0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
   16592             : {
   16593           0 :         ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
   16594           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16595           0 :         ndr->depth++;
   16596           0 :         if (flags & NDR_SET_VALUES) {
   16597           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16598             :         }
   16599           0 :         if (flags & NDR_IN) {
   16600           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
   16601           0 :                 ndr->depth++;
   16602           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   16603           0 :                 ndr->depth++;
   16604           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   16605           0 :                 ndr->depth--;
   16606           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   16607           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   16608           0 :                 ndr->depth++;
   16609           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   16610           0 :                 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
   16611           0 :                 ndr->depth--;
   16612           0 :                 ndr->depth--;
   16613             :         }
   16614           0 :         if (flags & NDR_OUT) {
   16615           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
   16616           0 :                 ndr->depth++;
   16617           0 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   16618           0 :                 ndr->depth++;
   16619           0 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   16620           0 :                 ndr->depth--;
   16621           0 :                 ndr_print_ptr(ndr, "res", r->out.res);
   16622           0 :                 ndr->depth++;
   16623           0 :                 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
   16624           0 :                 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
   16625           0 :                 ndr->depth--;
   16626           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16627           0 :                 ndr->depth--;
   16628             :         }
   16629           0 :         ndr->depth--;
   16630             : }
   16631             : 
   16632           0 : static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
   16633             : {
   16634           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16635           0 :         if (flags & NDR_IN) {
   16636             :         }
   16637           0 :         if (flags & NDR_OUT) {
   16638           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16639             :         }
   16640           0 :         return NDR_ERR_SUCCESS;
   16641             : }
   16642             : 
   16643           0 : static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
   16644             : {
   16645           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16646           0 :         if (flags & NDR_IN) {
   16647             :         }
   16648           0 :         if (flags & NDR_OUT) {
   16649             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16650             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16651           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16652             :         }
   16653           0 :         return NDR_ERR_SUCCESS;
   16654             : }
   16655             : 
   16656           0 : _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
   16657             : {
   16658           0 :         ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
   16659           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16660           0 :         ndr->depth++;
   16661           0 :         if (flags & NDR_SET_VALUES) {
   16662           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16663             :         }
   16664           0 :         if (flags & NDR_IN) {
   16665           0 :                 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
   16666           0 :                 ndr->depth++;
   16667           0 :                 ndr->depth--;
   16668             :         }
   16669           0 :         if (flags & NDR_OUT) {
   16670           0 :                 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
   16671           0 :                 ndr->depth++;
   16672           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16673           0 :                 ndr->depth--;
   16674             :         }
   16675           0 :         ndr->depth--;
   16676             : }
   16677             : 
   16678          12 : static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
   16679             : {
   16680          12 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16681          12 :         if (flags & NDR_IN) {
   16682           6 :                 if (r->in.bind_handle == NULL) {
   16683           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16684             :                 }
   16685           6 :                 if (r->in.req == NULL) {
   16686           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16687             :                 }
   16688           6 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16689           6 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   16690           6 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   16691           6 :                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16692             :         }
   16693          12 :         if (flags & NDR_OUT) {
   16694           6 :                 if (r->out.level_out == NULL) {
   16695           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16696             :                 }
   16697           6 :                 if (r->out.ctr == NULL) {
   16698           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16699             :                 }
   16700           6 :                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, *r->out.level_out));
   16701           6 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   16702           6 :                 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   16703           6 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16704             :         }
   16705          12 :         return NDR_ERR_SUCCESS;
   16706             : }
   16707             : 
   16708          12 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
   16709             : {
   16710          12 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   16711          12 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   16712          12 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   16713          12 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   16714          12 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16715          12 :         if (flags & NDR_IN) {
   16716           6 :                 NDR_ZERO_STRUCT(r->out);
   16717             : 
   16718           6 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16719           6 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16720             :                 }
   16721           6 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16722           6 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   16723           6 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16724           6 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   16725           6 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   16726           6 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16727           6 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16728             :                 }
   16729           6 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16730           6 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   16731           6 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   16732           6 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16733           6 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   16734           6 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   16735           6 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   16736           6 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   16737           6 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   16738             :         }
   16739          12 :         if (flags & NDR_OUT) {
   16740             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16741             :                 if (r->in.bind_handle == NULL) {
   16742             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16743             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   16744             :                 }
   16745             :                 if (r->in.req == NULL) {
   16746             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16747             :                         NDR_ZERO_STRUCTP(r->in.req);
   16748             :                 }
   16749             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16750           6 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16751           0 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   16752             :                 }
   16753           6 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16754           6 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   16755           6 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, r->out.level_out));
   16756           6 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   16757           6 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16758           0 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   16759             :                 }
   16760           6 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16761           6 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   16762           6 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   16763           6 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   16764           6 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   16765           6 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16766             :         }
   16767          12 :         return NDR_ERR_SUCCESS;
   16768             : }
   16769             : 
   16770           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
   16771             : {
   16772           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
   16773           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16774           0 :         ndr->depth++;
   16775           0 :         if (flags & NDR_SET_VALUES) {
   16776           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16777             :         }
   16778           0 :         if (flags & NDR_IN) {
   16779           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
   16780           0 :                 ndr->depth++;
   16781           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   16782           0 :                 ndr->depth++;
   16783           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   16784           0 :                 ndr->depth--;
   16785           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   16786           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   16787           0 :                 ndr->depth++;
   16788           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   16789           0 :                 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
   16790           0 :                 ndr->depth--;
   16791           0 :                 ndr->depth--;
   16792             :         }
   16793           0 :         if (flags & NDR_OUT) {
   16794           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
   16795           0 :                 ndr->depth++;
   16796           0 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   16797           0 :                 ndr->depth++;
   16798           0 :                 ndr_print_drsuapi_DsGetDCInfoCtrLevels(ndr, "level_out", *r->out.level_out);
   16799           0 :                 ndr->depth--;
   16800           0 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   16801           0 :                 ndr->depth++;
   16802           0 :                 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
   16803           0 :                 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
   16804           0 :                 ndr->depth--;
   16805           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16806           0 :                 ndr->depth--;
   16807             :         }
   16808           0 :         ndr->depth--;
   16809             : }
   16810             : 
   16811         127 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
   16812             : {
   16813         127 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16814         127 :         if (flags & NDR_IN) {
   16815          64 :                 if (r->in.bind_handle == NULL) {
   16816           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16817             :                 }
   16818          64 :                 if (r->in.req == NULL) {
   16819           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16820             :                 }
   16821          64 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16822          64 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   16823          64 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   16824          64 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16825             :         }
   16826         127 :         if (flags & NDR_OUT) {
   16827          63 :                 if (r->out.level_out == NULL) {
   16828           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16829             :                 }
   16830          63 :                 if (r->out.ctr == NULL) {
   16831           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16832             :                 }
   16833          63 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   16834          63 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   16835          63 :                 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   16836          63 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16837             :         }
   16838         126 :         return NDR_ERR_SUCCESS;
   16839             : }
   16840             : 
   16841         133 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
   16842             : {
   16843         133 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   16844         133 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   16845         133 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   16846         133 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   16847         133 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16848         133 :         if (flags & NDR_IN) {
   16849          67 :                 NDR_ZERO_STRUCT(r->out);
   16850             : 
   16851          67 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16852          67 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16853             :                 }
   16854          67 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16855          67 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   16856          67 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16857          67 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   16858          67 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   16859          67 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16860          67 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16861             :                 }
   16862          67 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16863          67 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   16864          67 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   16865          67 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   16866          67 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   16867          67 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   16868          67 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   16869          67 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   16870          67 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   16871             :         }
   16872         133 :         if (flags & NDR_OUT) {
   16873             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16874             :                 if (r->in.bind_handle == NULL) {
   16875             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16876             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   16877             :                 }
   16878             :                 if (r->in.req == NULL) {
   16879             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16880             :                         NDR_ZERO_STRUCTP(r->in.req);
   16881             :                 }
   16882             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16883          66 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16884          62 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   16885             :                 }
   16886          66 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16887          66 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   16888          66 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   16889          66 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   16890          66 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16891          62 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   16892             :                 }
   16893          66 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16894          66 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   16895          66 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   16896          66 :                 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   16897          65 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   16898          65 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16899             :         }
   16900         126 :         return NDR_ERR_SUCCESS;
   16901             : }
   16902             : 
   16903           6 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
   16904             : {
   16905           6 :         ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
   16906           6 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16907           6 :         ndr->depth++;
   16908           6 :         if (flags & NDR_SET_VALUES) {
   16909           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16910             :         }
   16911           6 :         if (flags & NDR_IN) {
   16912           4 :                 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
   16913           4 :                 ndr->depth++;
   16914           4 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   16915           4 :                 ndr->depth++;
   16916           4 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   16917           4 :                 ndr->depth--;
   16918           4 :                 ndr_print_uint32(ndr, "level", r->in.level);
   16919           4 :                 ndr_print_ptr(ndr, "req", r->in.req);
   16920           4 :                 ndr->depth++;
   16921           4 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   16922           4 :                 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
   16923           4 :                 ndr->depth--;
   16924           4 :                 ndr->depth--;
   16925             :         }
   16926           6 :         if (flags & NDR_OUT) {
   16927           2 :                 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
   16928           2 :                 ndr->depth++;
   16929           2 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   16930           2 :                 ndr->depth++;
   16931           2 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   16932           2 :                 ndr->depth--;
   16933           2 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   16934           2 :                 ndr->depth++;
   16935           2 :                 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
   16936           2 :                 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
   16937           2 :                 ndr->depth--;
   16938           2 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16939           2 :                 ndr->depth--;
   16940             :         }
   16941           6 :         ndr->depth--;
   16942             : }
   16943             : 
   16944           4 : static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
   16945             : {
   16946           4 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16947           4 :         if (flags & NDR_IN) {
   16948           2 :                 if (r->in.bind_handle == NULL) {
   16949           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16950             :                 }
   16951           2 :                 if (r->in.req == NULL) {
   16952           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16953             :                 }
   16954           2 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16955           2 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   16956           2 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   16957           2 :                 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
   16958             :         }
   16959           4 :         if (flags & NDR_OUT) {
   16960           2 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16961             :         }
   16962           4 :         return NDR_ERR_SUCCESS;
   16963             : }
   16964             : 
   16965           4 : static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
   16966             : {
   16967           4 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   16968           4 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   16969           4 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16970           4 :         if (flags & NDR_IN) {
   16971           2 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16972           2 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16973             :                 }
   16974           2 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16975           2 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   16976           2 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   16977           2 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   16978           2 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   16979           2 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16980           2 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16981             :                 }
   16982           2 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16983           2 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   16984           2 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   16985           2 :                 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
   16986           2 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   16987             :         }
   16988           4 :         if (flags & NDR_OUT) {
   16989             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16990             :                 if (r->in.bind_handle == NULL) {
   16991             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   16992             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   16993             :                 }
   16994             :                 if (r->in.req == NULL) {
   16995             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   16996             :                         NDR_ZERO_STRUCTP(r->in.req);
   16997             :                 }
   16998             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16999           2 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17000             :         }
   17001           4 :         return NDR_ERR_SUCCESS;
   17002             : }
   17003             : 
   17004           0 : _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
   17005             : {
   17006           0 :         ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
   17007           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17008           0 :         ndr->depth++;
   17009           0 :         if (flags & NDR_SET_VALUES) {
   17010           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17011             :         }
   17012           0 :         if (flags & NDR_IN) {
   17013           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
   17014           0 :                 ndr->depth++;
   17015           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   17016           0 :                 ndr->depth++;
   17017           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   17018           0 :                 ndr->depth--;
   17019           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   17020           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   17021           0 :                 ndr->depth++;
   17022           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   17023           0 :                 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
   17024           0 :                 ndr->depth--;
   17025           0 :                 ndr->depth--;
   17026             :         }
   17027           0 :         if (flags & NDR_OUT) {
   17028           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
   17029           0 :                 ndr->depth++;
   17030           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17031           0 :                 ndr->depth--;
   17032             :         }
   17033           0 :         ndr->depth--;
   17034             : }
   17035             : 
   17036          64 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
   17037             : {
   17038          64 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17039          64 :         if (flags & NDR_IN) {
   17040          32 :                 if (r->in.bind_handle == NULL) {
   17041           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17042             :                 }
   17043          32 :                 if (r->in.req == NULL) {
   17044           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17045             :                 }
   17046          32 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   17047          32 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
   17048          32 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   17049          32 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   17050             :         }
   17051          64 :         if (flags & NDR_OUT) {
   17052          32 :                 if (r->out.info_type == NULL) {
   17053           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17054             :                 }
   17055          32 :                 if (r->out.info == NULL) {
   17056           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17057             :                 }
   17058          32 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
   17059          32 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
   17060          32 :                 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   17061          32 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17062             :         }
   17063          64 :         return NDR_ERR_SUCCESS;
   17064             : }
   17065             : 
   17066          64 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
   17067             : {
   17068          64 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   17069          64 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   17070          64 :         TALLOC_CTX *_mem_save_info_type_0 = NULL;
   17071          64 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   17072          64 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17073          64 :         if (flags & NDR_IN) {
   17074          32 :                 NDR_ZERO_STRUCT(r->out);
   17075             : 
   17076          32 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17077          32 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   17078             :                 }
   17079          32 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17080          32 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   17081          32 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   17082          32 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   17083          32 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
   17084          32 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17085          32 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   17086             :                 }
   17087          32 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17088          32 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   17089          32 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   17090          32 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   17091          32 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   17092          32 :                 NDR_PULL_ALLOC(ndr, r->out.info_type);
   17093          32 :                 NDR_ZERO_STRUCTP(r->out.info_type);
   17094          32 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   17095          32 :                 NDR_ZERO_STRUCTP(r->out.info);
   17096             :         }
   17097          64 :         if (flags & NDR_OUT) {
   17098             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17099             :                 if (r->in.bind_handle == NULL) {
   17100             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   17101             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   17102             :                 }
   17103             :                 if (r->in.req == NULL) {
   17104             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   17105             :                         NDR_ZERO_STRUCTP(r->in.req);
   17106             :                 }
   17107             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17108          32 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17109          32 :                         NDR_PULL_ALLOC(ndr, r->out.info_type);
   17110             :                 }
   17111          32 :                 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17112          32 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
   17113          32 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
   17114          32 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
   17115          32 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17116          32 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   17117             :                 }
   17118          32 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17119          32 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   17120          32 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
   17121          32 :                 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   17122          32 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   17123          32 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17124             :         }
   17125          64 :         return NDR_ERR_SUCCESS;
   17126             : }
   17127             : 
   17128           0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
   17129             : {
   17130           0 :         ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
   17131           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17132           0 :         ndr->depth++;
   17133           0 :         if (flags & NDR_SET_VALUES) {
   17134           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17135             :         }
   17136           0 :         if (flags & NDR_IN) {
   17137           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
   17138           0 :                 ndr->depth++;
   17139           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   17140           0 :                 ndr->depth++;
   17141           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   17142           0 :                 ndr->depth--;
   17143           0 :                 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
   17144           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   17145           0 :                 ndr->depth++;
   17146           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   17147           0 :                 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
   17148           0 :                 ndr->depth--;
   17149           0 :                 ndr->depth--;
   17150             :         }
   17151           0 :         if (flags & NDR_OUT) {
   17152           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
   17153           0 :                 ndr->depth++;
   17154           0 :                 ndr_print_ptr(ndr, "info_type", r->out.info_type);
   17155           0 :                 ndr->depth++;
   17156           0 :                 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
   17157           0 :                 ndr->depth--;
   17158           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
   17159           0 :                 ndr->depth++;
   17160           0 :                 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
   17161           0 :                 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
   17162           0 :                 ndr->depth--;
   17163           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17164           0 :                 ndr->depth--;
   17165             :         }
   17166           0 :         ndr->depth--;
   17167             : }
   17168             : 
   17169           0 : static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
   17170             : {
   17171           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17172           0 :         if (flags & NDR_IN) {
   17173             :         }
   17174           0 :         if (flags & NDR_OUT) {
   17175           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17176             :         }
   17177           0 :         return NDR_ERR_SUCCESS;
   17178             : }
   17179             : 
   17180           0 : static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
   17181             : {
   17182           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17183           0 :         if (flags & NDR_IN) {
   17184             :         }
   17185           0 :         if (flags & NDR_OUT) {
   17186             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17187             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17188           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17189             :         }
   17190           0 :         return NDR_ERR_SUCCESS;
   17191             : }
   17192             : 
   17193           0 : _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
   17194             : {
   17195           0 :         ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
   17196           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17197           0 :         ndr->depth++;
   17198           0 :         if (flags & NDR_SET_VALUES) {
   17199           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17200             :         }
   17201           0 :         if (flags & NDR_IN) {
   17202           0 :                 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
   17203           0 :                 ndr->depth++;
   17204           0 :                 ndr->depth--;
   17205             :         }
   17206           0 :         if (flags & NDR_OUT) {
   17207           0 :                 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
   17208           0 :                 ndr->depth++;
   17209           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17210           0 :                 ndr->depth--;
   17211             :         }
   17212           0 :         ndr->depth--;
   17213             : }
   17214             : 
   17215           0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
   17216             : {
   17217           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17218           0 :         if (flags & NDR_IN) {
   17219           0 :                 if (r->in.bind_handle == NULL) {
   17220           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17221             :                 }
   17222           0 :                 if (r->in.req == NULL) {
   17223           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17224             :                 }
   17225           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   17226           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   17227           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   17228           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   17229             :         }
   17230           0 :         if (flags & NDR_OUT) {
   17231           0 :                 if (r->out.level_out == NULL) {
   17232           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17233             :                 }
   17234           0 :                 if (r->out.ctr == NULL) {
   17235           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17236             :                 }
   17237           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   17238           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   17239           0 :                 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   17240           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17241             :         }
   17242           0 :         return NDR_ERR_SUCCESS;
   17243             : }
   17244             : 
   17245           0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
   17246             : {
   17247           0 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   17248           0 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   17249           0 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   17250           0 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   17251           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17252           0 :         if (flags & NDR_IN) {
   17253           0 :                 NDR_ZERO_STRUCT(r->out);
   17254             : 
   17255           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17256           0 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   17257             :                 }
   17258           0 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17259           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   17260           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   17261           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   17262           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   17263           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17264           0 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   17265             :                 }
   17266           0 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17267           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   17268           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   17269           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   17270           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   17271           0 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   17272           0 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   17273           0 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   17274           0 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   17275             :         }
   17276           0 :         if (flags & NDR_OUT) {
   17277             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17278             :                 if (r->in.bind_handle == NULL) {
   17279             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   17280             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   17281             :                 }
   17282             :                 if (r->in.req == NULL) {
   17283             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   17284             :                         NDR_ZERO_STRUCTP(r->in.req);
   17285             :                 }
   17286             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17287           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17288           0 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   17289             :                 }
   17290           0 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17291           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   17292           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   17293           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   17294           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17295           0 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   17296             :                 }
   17297           0 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17298           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   17299           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   17300           0 :                 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   17301           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   17302           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17303             :         }
   17304           0 :         return NDR_ERR_SUCCESS;
   17305             : }
   17306             : 
   17307           0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
   17308             : {
   17309           0 :         ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
   17310           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17311           0 :         ndr->depth++;
   17312           0 :         if (flags & NDR_SET_VALUES) {
   17313           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17314             :         }
   17315           0 :         if (flags & NDR_IN) {
   17316           0 :                 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
   17317           0 :                 ndr->depth++;
   17318           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   17319           0 :                 ndr->depth++;
   17320           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   17321           0 :                 ndr->depth--;
   17322           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   17323           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   17324           0 :                 ndr->depth++;
   17325           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   17326           0 :                 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
   17327           0 :                 ndr->depth--;
   17328           0 :                 ndr->depth--;
   17329             :         }
   17330           0 :         if (flags & NDR_OUT) {
   17331           0 :                 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
   17332           0 :                 ndr->depth++;
   17333           0 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   17334           0 :                 ndr->depth++;
   17335           0 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   17336           0 :                 ndr->depth--;
   17337           0 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   17338           0 :                 ndr->depth++;
   17339           0 :                 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
   17340           0 :                 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
   17341           0 :                 ndr->depth--;
   17342           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17343           0 :                 ndr->depth--;
   17344             :         }
   17345           0 :         ndr->depth--;
   17346             : }
   17347             : 
   17348           0 : static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
   17349             : {
   17350           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17351           0 :         if (flags & NDR_IN) {
   17352             :         }
   17353           0 :         if (flags & NDR_OUT) {
   17354           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17355             :         }
   17356           0 :         return NDR_ERR_SUCCESS;
   17357             : }
   17358             : 
   17359           0 : static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
   17360             : {
   17361           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17362           0 :         if (flags & NDR_IN) {
   17363             :         }
   17364           0 :         if (flags & NDR_OUT) {
   17365             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17366             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17367           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17368             :         }
   17369           0 :         return NDR_ERR_SUCCESS;
   17370             : }
   17371             : 
   17372           0 : _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
   17373             : {
   17374           0 :         ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
   17375           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17376           0 :         ndr->depth++;
   17377           0 :         if (flags & NDR_SET_VALUES) {
   17378           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17379             :         }
   17380           0 :         if (flags & NDR_IN) {
   17381           0 :                 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
   17382           0 :                 ndr->depth++;
   17383           0 :                 ndr->depth--;
   17384             :         }
   17385           0 :         if (flags & NDR_OUT) {
   17386           0 :                 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
   17387           0 :                 ndr->depth++;
   17388           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17389           0 :                 ndr->depth--;
   17390             :         }
   17391           0 :         ndr->depth--;
   17392             : }
   17393             : 
   17394           0 : static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
   17395             : {
   17396           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17397           0 :         if (flags & NDR_IN) {
   17398             :         }
   17399           0 :         if (flags & NDR_OUT) {
   17400           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17401             :         }
   17402           0 :         return NDR_ERR_SUCCESS;
   17403             : }
   17404             : 
   17405           0 : static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
   17406             : {
   17407           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17408           0 :         if (flags & NDR_IN) {
   17409             :         }
   17410           0 :         if (flags & NDR_OUT) {
   17411             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17412             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17413           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17414             :         }
   17415           0 :         return NDR_ERR_SUCCESS;
   17416             : }
   17417             : 
   17418           0 : _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
   17419             : {
   17420           0 :         ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
   17421           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17422           0 :         ndr->depth++;
   17423           0 :         if (flags & NDR_SET_VALUES) {
   17424           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17425             :         }
   17426           0 :         if (flags & NDR_IN) {
   17427           0 :                 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
   17428           0 :                 ndr->depth++;
   17429           0 :                 ndr->depth--;
   17430             :         }
   17431           0 :         if (flags & NDR_OUT) {
   17432           0 :                 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
   17433           0 :                 ndr->depth++;
   17434           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17435           0 :                 ndr->depth--;
   17436             :         }
   17437           0 :         ndr->depth--;
   17438             : }
   17439             : 
   17440           0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
   17441             : {
   17442           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17443           0 :         if (flags & NDR_IN) {
   17444           0 :                 if (r->in.bind_handle == NULL) {
   17445           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17446             :                 }
   17447           0 :                 if (r->in.req == NULL) {
   17448           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17449             :                 }
   17450           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   17451           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   17452           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   17453           0 :                 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   17454             :         }
   17455           0 :         if (flags & NDR_OUT) {
   17456           0 :                 if (r->out.level_out == NULL) {
   17457           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17458             :                 }
   17459           0 :                 if (r->out.ctr == NULL) {
   17460           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17461             :                 }
   17462           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   17463           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   17464           0 :                 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   17465           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17466             :         }
   17467           0 :         return NDR_ERR_SUCCESS;
   17468             : }
   17469             : 
   17470           0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
   17471             : {
   17472           0 :         TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
   17473           0 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   17474           0 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   17475           0 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   17476           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17477           0 :         if (flags & NDR_IN) {
   17478           0 :                 NDR_ZERO_STRUCT(r->out);
   17479             : 
   17480           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17481           0 :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   17482             :                 }
   17483           0 :                 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17484           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
   17485           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
   17486           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
   17487           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   17488           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17489           0 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   17490             :                 }
   17491           0 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17492           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   17493           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   17494           0 :                 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   17495           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   17496           0 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   17497           0 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   17498           0 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   17499           0 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   17500             :         }
   17501           0 :         if (flags & NDR_OUT) {
   17502             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17503             :                 if (r->in.bind_handle == NULL) {
   17504             :                         NDR_PULL_ALLOC(ndr, r->in.bind_handle);
   17505             :                         NDR_ZERO_STRUCTP(r->in.bind_handle);
   17506             :                 }
   17507             :                 if (r->in.req == NULL) {
   17508             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   17509             :                         NDR_ZERO_STRUCTP(r->in.req);
   17510             :                 }
   17511             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17512           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17513           0 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   17514             :                 }
   17515           0 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17516           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   17517           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   17518           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   17519           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17520           0 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   17521             :                 }
   17522           0 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17523           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   17524           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
   17525           0 :                 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
   17526           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   17527           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17528             :         }
   17529           0 :         return NDR_ERR_SUCCESS;
   17530             : }
   17531             : 
   17532           0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
   17533             : {
   17534           0 :         ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
   17535           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17536           0 :         ndr->depth++;
   17537           0 :         if (flags & NDR_SET_VALUES) {
   17538           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17539             :         }
   17540           0 :         if (flags & NDR_IN) {
   17541           0 :                 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
   17542           0 :                 ndr->depth++;
   17543           0 :                 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
   17544           0 :                 ndr->depth++;
   17545           0 :                 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
   17546           0 :                 ndr->depth--;
   17547           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   17548           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   17549           0 :                 ndr->depth++;
   17550           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   17551           0 :                 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
   17552           0 :                 ndr->depth--;
   17553           0 :                 ndr->depth--;
   17554             :         }
   17555           0 :         if (flags & NDR_OUT) {
   17556           0 :                 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
   17557           0 :                 ndr->depth++;
   17558           0 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   17559           0 :                 ndr->depth++;
   17560           0 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   17561           0 :                 ndr->depth--;
   17562           0 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   17563           0 :                 ndr->depth++;
   17564           0 :                 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
   17565           0 :                 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
   17566           0 :                 ndr->depth--;
   17567           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17568           0 :                 ndr->depth--;
   17569             :         }
   17570           0 :         ndr->depth--;
   17571             : }
   17572             : 
   17573             : #ifndef SKIP_NDR_TABLE_drsuapi
   17574             : static const struct ndr_interface_public_struct drsuapi_public_structs[] = {
   17575             :         {
   17576             :                 .name = "drsuapi_DsBindInfo24",
   17577             :                 .struct_size = sizeof(struct drsuapi_DsBindInfo24 ),
   17578             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo24,
   17579             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo24,
   17580             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo24,
   17581             :         },
   17582             :         {
   17583             :                 .name = "drsuapi_DsBindInfo28",
   17584             :                 .struct_size = sizeof(struct drsuapi_DsBindInfo28 ),
   17585             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo28,
   17586             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo28,
   17587             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo28,
   17588             :         },
   17589             :         {
   17590             :                 .name = "drsuapi_DsBindInfo32",
   17591             :                 .struct_size = sizeof(struct drsuapi_DsBindInfo32 ),
   17592             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo32,
   17593             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo32,
   17594             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo32,
   17595             :         },
   17596             :         {
   17597             :                 .name = "drsuapi_DsBindInfo48",
   17598             :                 .struct_size = sizeof(struct drsuapi_DsBindInfo48 ),
   17599             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo48,
   17600             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo48,
   17601             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo48,
   17602             :         },
   17603             :         {
   17604             :                 .name = "drsuapi_DsBindInfo52",
   17605             :                 .struct_size = sizeof(struct drsuapi_DsBindInfo52 ),
   17606             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo52,
   17607             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo52,
   17608             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo52,
   17609             :         },
   17610             :         {
   17611             :                 .name = "drsuapi_DsBindInfoFallBack",
   17612             :                 .struct_size = sizeof(struct drsuapi_DsBindInfoFallBack ),
   17613             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfoFallBack,
   17614             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfoFallBack,
   17615             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfoFallBack,
   17616             :         },
   17617             :         {
   17618             :                 .name = "drsuapi_DsReplicaObjectIdentifier",
   17619             :                 .struct_size = sizeof(struct drsuapi_DsReplicaObjectIdentifier ),
   17620             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectIdentifier,
   17621             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectIdentifier,
   17622             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectIdentifier,
   17623             :         },
   17624             :         {
   17625             :                 .name = "drsuapi_DsReplicaHighWaterMark",
   17626             :                 .struct_size = sizeof(struct drsuapi_DsReplicaHighWaterMark ),
   17627             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaHighWaterMark,
   17628             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaHighWaterMark,
   17629             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaHighWaterMark,
   17630             :         },
   17631             :         {
   17632             :                 .name = "drsuapi_DsReplicaCursor",
   17633             :                 .struct_size = sizeof(struct drsuapi_DsReplicaCursor ),
   17634             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaCursor,
   17635             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaCursor,
   17636             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaCursor,
   17637             :         },
   17638             :         {
   17639             :                 .name = "drsuapi_DsReplicaOIDMapping_Ctr",
   17640             :                 .struct_size = sizeof(struct drsuapi_DsReplicaOIDMapping_Ctr ),
   17641             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaOIDMapping_Ctr,
   17642             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr,
   17643             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaOIDMapping_Ctr,
   17644             :         },
   17645             :         {
   17646             :                 .name = "drsuapi_DsGetNCChangesRequest8",
   17647             :                 .struct_size = sizeof(struct drsuapi_DsGetNCChangesRequest8 ),
   17648             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesRequest8,
   17649             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesRequest8,
   17650             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesRequest8,
   17651             :         },
   17652             :         {
   17653             :                 .name = "drsuapi_DsGetNCChangesRequest10",
   17654             :                 .struct_size = sizeof(struct drsuapi_DsGetNCChangesRequest10 ),
   17655             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesRequest10,
   17656             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesRequest10,
   17657             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesRequest10,
   17658             :         },
   17659             :         {
   17660             :                 .name = "drsuapi_DsReplicaCursor2",
   17661             :                 .struct_size = sizeof(struct drsuapi_DsReplicaCursor2 ),
   17662             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaCursor2,
   17663             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaCursor2,
   17664             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaCursor2,
   17665             :         },
   17666             :         {
   17667             :                 .name = "drsuapi_DsReplicaObjectIdentifier3",
   17668             :                 .struct_size = sizeof(struct drsuapi_DsReplicaObjectIdentifier3 ),
   17669             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectIdentifier3,
   17670             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectIdentifier3,
   17671             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectIdentifier3,
   17672             :         },
   17673             :         {
   17674             :                 .name = "drsuapi_DsReplicaObjectIdentifier3Binary",
   17675             :                 .struct_size = sizeof(struct drsuapi_DsReplicaObjectIdentifier3Binary ),
   17676             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary,
   17677             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary,
   17678             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectIdentifier3Binary,
   17679             :         },
   17680             :         {
   17681             :                 .name = "drsuapi_DsReplicaAttribute",
   17682             :                 .struct_size = sizeof(struct drsuapi_DsReplicaAttribute ),
   17683             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAttribute,
   17684             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAttribute,
   17685             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaAttribute,
   17686             :         },
   17687             :         {
   17688             :                 .name = "drsuapi_DsReplicaObject",
   17689             :                 .struct_size = sizeof(struct drsuapi_DsReplicaObject ),
   17690             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObject,
   17691             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObject,
   17692             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObject,
   17693             :         },
   17694             :         {
   17695             :                 .name = "drsuapi_DsReplicaMetaDataCtr",
   17696             :                 .struct_size = sizeof(struct drsuapi_DsReplicaMetaDataCtr ),
   17697             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMetaDataCtr,
   17698             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMetaDataCtr,
   17699             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaMetaDataCtr,
   17700             :         },
   17701             :         {
   17702             :                 .name = "drsuapi_DsReplicaObjectListItemEx",
   17703             :                 .struct_size = sizeof(struct drsuapi_DsReplicaObjectListItemEx ),
   17704             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectListItemEx,
   17705             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectListItemEx,
   17706             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectListItemEx,
   17707             :         },
   17708             :         {
   17709             :                 .name = "drsuapi_DsGetNCChangesCtr1",
   17710             :                 .struct_size = sizeof(struct drsuapi_DsGetNCChangesCtr1 ),
   17711             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesCtr1,
   17712             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesCtr1,
   17713             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesCtr1,
   17714             :         },
   17715             :         {
   17716             :                 .name = "drsuapi_DsReplicaLinkedAttribute",
   17717             :                 .struct_size = sizeof(struct drsuapi_DsReplicaLinkedAttribute ),
   17718             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaLinkedAttribute,
   17719             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaLinkedAttribute,
   17720             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaLinkedAttribute,
   17721             :         },
   17722             :         {
   17723             :                 .name = "drsuapi_DsGetNCChangesCtr6",
   17724             :                 .struct_size = sizeof(struct drsuapi_DsGetNCChangesCtr6 ),
   17725             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesCtr6,
   17726             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesCtr6,
   17727             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesCtr6,
   17728             :         },
   17729             :         {
   17730             :                 .name = "drsuapi_DsGetNCChangesCtr1TS",
   17731             :                 .struct_size = sizeof(struct drsuapi_DsGetNCChangesCtr1TS ),
   17732             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesCtr1TS,
   17733             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesCtr1TS,
   17734             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesCtr1TS,
   17735             :         },
   17736             :         {
   17737             :                 .name = "drsuapi_DsGetNCChangesCtr6TS",
   17738             :                 .struct_size = sizeof(struct drsuapi_DsGetNCChangesCtr6TS ),
   17739             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesCtr6TS,
   17740             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesCtr6TS,
   17741             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesCtr6TS,
   17742             :         },
   17743             :         {
   17744             :                 .name = "drsuapi_DsReplicaObjectListItem",
   17745             :                 .struct_size = sizeof(struct drsuapi_DsReplicaObjectListItem ),
   17746             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectListItem,
   17747             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectListItem,
   17748             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectListItem,
   17749             :         },
   17750             :         { .name = NULL }
   17751             : };
   17752             : 
   17753             : static const struct ndr_interface_call drsuapi_calls[] = {
   17754             :         {
   17755             :                 "drsuapi_DsBind",
   17756             :                 sizeof(struct drsuapi_DsBind),
   17757             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
   17758             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
   17759             :                 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
   17760             :                 { 0, NULL },
   17761             :                 { 0, NULL },
   17762             :         },
   17763             :         {
   17764             :                 "drsuapi_DsUnbind",
   17765             :                 sizeof(struct drsuapi_DsUnbind),
   17766             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
   17767             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
   17768             :                 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
   17769             :                 { 0, NULL },
   17770             :                 { 0, NULL },
   17771             :         },
   17772             :         {
   17773             :                 "drsuapi_DsReplicaSync",
   17774             :                 sizeof(struct drsuapi_DsReplicaSync),
   17775             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
   17776             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
   17777             :                 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
   17778             :                 { 0, NULL },
   17779             :                 { 0, NULL },
   17780             :         },
   17781             :         {
   17782             :                 "drsuapi_DsGetNCChanges",
   17783             :                 sizeof(struct drsuapi_DsGetNCChanges),
   17784             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
   17785             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
   17786             :                 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
   17787             :                 { 0, NULL },
   17788             :                 { 0, NULL },
   17789             :         },
   17790             :         {
   17791             :                 "drsuapi_DsReplicaUpdateRefs",
   17792             :                 sizeof(struct drsuapi_DsReplicaUpdateRefs),
   17793             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
   17794             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
   17795             :                 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
   17796             :                 { 0, NULL },
   17797             :                 { 0, NULL },
   17798             :         },
   17799             :         {
   17800             :                 "drsuapi_DsReplicaAdd",
   17801             :                 sizeof(struct drsuapi_DsReplicaAdd),
   17802             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
   17803             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
   17804             :                 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
   17805             :                 { 0, NULL },
   17806             :                 { 0, NULL },
   17807             :         },
   17808             :         {
   17809             :                 "drsuapi_DsReplicaDel",
   17810             :                 sizeof(struct drsuapi_DsReplicaDel),
   17811             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
   17812             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
   17813             :                 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
   17814             :                 { 0, NULL },
   17815             :                 { 0, NULL },
   17816             :         },
   17817             :         {
   17818             :                 "drsuapi_DsReplicaMod",
   17819             :                 sizeof(struct drsuapi_DsReplicaMod),
   17820             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
   17821             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
   17822             :                 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
   17823             :                 { 0, NULL },
   17824             :                 { 0, NULL },
   17825             :         },
   17826             :         {
   17827             :                 "DRSUAPI_VERIFY_NAMES",
   17828             :                 sizeof(struct DRSUAPI_VERIFY_NAMES),
   17829             :                 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
   17830             :                 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
   17831             :                 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
   17832             :                 { 0, NULL },
   17833             :                 { 0, NULL },
   17834             :         },
   17835             :         {
   17836             :                 "drsuapi_DsGetMemberships",
   17837             :                 sizeof(struct drsuapi_DsGetMemberships),
   17838             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
   17839             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
   17840             :                 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
   17841             :                 { 0, NULL },
   17842             :                 { 0, NULL },
   17843             :         },
   17844             :         {
   17845             :                 "DRSUAPI_INTER_DOMAIN_MOVE",
   17846             :                 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
   17847             :                 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
   17848             :                 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
   17849             :                 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
   17850             :                 { 0, NULL },
   17851             :                 { 0, NULL },
   17852             :         },
   17853             :         {
   17854             :                 "drsuapi_DsGetNT4ChangeLog",
   17855             :                 sizeof(struct drsuapi_DsGetNT4ChangeLog),
   17856             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
   17857             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
   17858             :                 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
   17859             :                 { 0, NULL },
   17860             :                 { 0, NULL },
   17861             :         },
   17862             :         {
   17863             :                 "drsuapi_DsCrackNames",
   17864             :                 sizeof(struct drsuapi_DsCrackNames),
   17865             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
   17866             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
   17867             :                 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
   17868             :                 { 0, NULL },
   17869             :                 { 0, NULL },
   17870             :         },
   17871             :         {
   17872             :                 "drsuapi_DsWriteAccountSpn",
   17873             :                 sizeof(struct drsuapi_DsWriteAccountSpn),
   17874             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
   17875             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
   17876             :                 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
   17877             :                 { 0, NULL },
   17878             :                 { 0, NULL },
   17879             :         },
   17880             :         {
   17881             :                 "drsuapi_DsRemoveDSServer",
   17882             :                 sizeof(struct drsuapi_DsRemoveDSServer),
   17883             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
   17884             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
   17885             :                 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
   17886             :                 { 0, NULL },
   17887             :                 { 0, NULL },
   17888             :         },
   17889             :         {
   17890             :                 "DRSUAPI_REMOVE_DS_DOMAIN",
   17891             :                 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
   17892             :                 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
   17893             :                 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
   17894             :                 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
   17895             :                 { 0, NULL },
   17896             :                 { 0, NULL },
   17897             :         },
   17898             :         {
   17899             :                 "drsuapi_DsGetDomainControllerInfo",
   17900             :                 sizeof(struct drsuapi_DsGetDomainControllerInfo),
   17901             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
   17902             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
   17903             :                 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
   17904             :                 { 0, NULL },
   17905             :                 { 0, NULL },
   17906             :         },
   17907             :         {
   17908             :                 "drsuapi_DsAddEntry",
   17909             :                 sizeof(struct drsuapi_DsAddEntry),
   17910             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
   17911             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
   17912             :                 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
   17913             :                 { 0, NULL },
   17914             :                 { 0, NULL },
   17915             :         },
   17916             :         {
   17917             :                 "drsuapi_DsExecuteKCC",
   17918             :                 sizeof(struct drsuapi_DsExecuteKCC),
   17919             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
   17920             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
   17921             :                 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
   17922             :                 { 0, NULL },
   17923             :                 { 0, NULL },
   17924             :         },
   17925             :         {
   17926             :                 "drsuapi_DsReplicaGetInfo",
   17927             :                 sizeof(struct drsuapi_DsReplicaGetInfo),
   17928             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
   17929             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
   17930             :                 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
   17931             :                 { 0, NULL },
   17932             :                 { 0, NULL },
   17933             :         },
   17934             :         {
   17935             :                 "DRSUAPI_ADD_SID_HISTORY",
   17936             :                 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
   17937             :                 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
   17938             :                 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
   17939             :                 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
   17940             :                 { 0, NULL },
   17941             :                 { 0, NULL },
   17942             :         },
   17943             :         {
   17944             :                 "drsuapi_DsGetMemberships2",
   17945             :                 sizeof(struct drsuapi_DsGetMemberships2),
   17946             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
   17947             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
   17948             :                 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
   17949             :                 { 0, NULL },
   17950             :                 { 0, NULL },
   17951             :         },
   17952             :         {
   17953             :                 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
   17954             :                 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
   17955             :                 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
   17956             :                 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
   17957             :                 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
   17958             :                 { 0, NULL },
   17959             :                 { 0, NULL },
   17960             :         },
   17961             :         {
   17962             :                 "DRSUAPI_GET_OBJECT_EXISTENCE",
   17963             :                 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
   17964             :                 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
   17965             :                 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
   17966             :                 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
   17967             :                 { 0, NULL },
   17968             :                 { 0, NULL },
   17969             :         },
   17970             :         {
   17971             :                 "drsuapi_QuerySitesByCost",
   17972             :                 sizeof(struct drsuapi_QuerySitesByCost),
   17973             :                 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
   17974             :                 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
   17975             :                 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
   17976             :                 { 0, NULL },
   17977             :                 { 0, NULL },
   17978             :         },
   17979             :         { .name = NULL }
   17980             : };
   17981             : 
   17982             : static const char * const drsuapi_endpoint_strings[] = {
   17983             :         "ncacn_np:[\\pipe\\lsass]", 
   17984             :         "ncacn_np:[\\pipe\\protected_storage]", 
   17985             :         "ncacn_ip_tcp:", 
   17986             :         "ncalrpc:", 
   17987             : };
   17988             : 
   17989             : static const struct ndr_interface_string_array drsuapi_endpoints = {
   17990             :         .count  = 4,
   17991             :         .names  = drsuapi_endpoint_strings
   17992             : };
   17993             : 
   17994             : static const char * const drsuapi_authservice_strings[] = {
   17995             :         "ldap", 
   17996             : };
   17997             : 
   17998             : static const struct ndr_interface_string_array drsuapi_authservices = {
   17999             :         .count  = 1,
   18000             :         .names  = drsuapi_authservice_strings
   18001             : };
   18002             : 
   18003             : 
   18004             : const struct ndr_interface_table ndr_table_drsuapi = {
   18005             :         .name           = "drsuapi",
   18006             :         .syntax_id      = {
   18007             :                 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
   18008             :                 NDR_DRSUAPI_VERSION
   18009             :         },
   18010             :         .helpstring     = NDR_DRSUAPI_HELPSTRING,
   18011             :         .num_calls      = 25,
   18012             :         .calls          = drsuapi_calls,
   18013             :         .num_public_structs     = 25,
   18014             :         .public_structs         = drsuapi_public_structs,
   18015             :         .endpoints      = &drsuapi_endpoints,
   18016             :         .authservices   = &drsuapi_authservices
   18017             : };
   18018             : 
   18019             : #endif /* SKIP_NDR_TABLE_drsuapi */

Generated by: LCOV version 1.13