LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_krb5pac.c (source / functions) Hit Total Coverage
Test: coverage report for smb2.twrp.listdir_fix f886ca1c Lines: 1518 1753 86.6 %
Date: 2023-11-07 19:11:32 Functions: 88 110 80.0 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_krb5pac.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_security.h"
       7             : #include "librpc/gen_ndr/ndr_lsa.h"
       8             : #include "librpc/gen_ndr/ndr_netlogon.h"
       9             : #include "librpc/gen_ndr/ndr_samr.h"
      10        9846 : static enum ndr_err_code ndr_push_PAC_LOGON_NAME(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_LOGON_NAME *r)
      11             : {
      12        9846 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      13        9846 :         if (ndr_flags & NDR_SCALARS) {
      14        9846 :                 NDR_CHECK(ndr_push_align(ndr, 4));
      15        9846 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logon_time));
      16        9846 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->account_name)));
      17        9846 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, 2 * strlen_m(r->account_name), sizeof(uint8_t), CH_UTF16));
      18        9846 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
      19             :         }
      20        9846 :         if (ndr_flags & NDR_BUFFERS) {
      21          42 :         }
      22        9846 :         return NDR_ERR_SUCCESS;
      23             : }
      24             : 
      25       22015 : static enum ndr_err_code ndr_pull_PAC_LOGON_NAME(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_LOGON_NAME *r)
      26             : {
      27       22015 :         uint32_t size_account_name_0 = 0;
      28       22015 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      29       22015 :         if (ndr_flags & NDR_SCALARS) {
      30       22015 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
      31       22015 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logon_time));
      32       22015 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
      33       22015 :                 size_account_name_0 = r->size;
      34       22015 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, size_account_name_0, sizeof(uint8_t), CH_UTF16));
      35       22015 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
      36             :         }
      37       22015 :         if (ndr_flags & NDR_BUFFERS) {
      38          31 :         }
      39       22015 :         return NDR_ERR_SUCCESS;
      40             : }
      41             : 
      42          15 : _PUBLIC_ void ndr_print_PAC_LOGON_NAME(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_NAME *r)
      43             : {
      44          15 :         ndr_print_struct(ndr, name, "PAC_LOGON_NAME");
      45          15 :         if (r == NULL) { ndr_print_null(ndr); return; }
      46          15 :         ndr->depth++;
      47          15 :         ndr_print_NTTIME(ndr, "logon_time", r->logon_time);
      48          15 :         ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->account_name):r->size);
      49          15 :         ndr_print_string(ndr, "account_name", r->account_name);
      50          15 :         ndr->depth--;
      51             : }
      52             : 
      53       50882 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_SIGNATURE_DATA(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_SIGNATURE_DATA *r)
      54             : {
      55             :         {
      56       50882 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
      57       50882 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
      58       50882 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      59       50882 :                 if (ndr_flags & NDR_SCALARS) {
      60       50882 :                         NDR_CHECK(ndr_push_align(ndr, 4));
      61       50882 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->type));
      62             :                         {
      63       50882 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
      64       50882 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
      65       50882 :                                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signature));
      66       50882 :                                 ndr->flags = _flags_save_DATA_BLOB;
      67             :                         }
      68       50882 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
      69             :                 }
      70       50882 :                 if (ndr_flags & NDR_BUFFERS) {
      71         104 :                 }
      72       50882 :                 ndr->flags = _flags_save_STRUCT;
      73             :         }
      74       50882 :         return NDR_ERR_SUCCESS;
      75             : }
      76             : 
      77       95239 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_SIGNATURE_DATA(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_SIGNATURE_DATA *r)
      78             : {
      79             :         {
      80       95239 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
      81       95239 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
      82       95239 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      83       95239 :                 if (ndr_flags & NDR_SCALARS) {
      84       95239 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
      85       95239 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->type));
      86             :                         {
      87       95239 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
      88       95239 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
      89       95239 :                                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signature));
      90       95239 :                                 ndr->flags = _flags_save_DATA_BLOB;
      91             :                         }
      92       95239 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
      93             :                 }
      94       95239 :                 if (ndr_flags & NDR_BUFFERS) {
      95          80 :                 }
      96       95239 :                 ndr->flags = _flags_save_STRUCT;
      97             :         }
      98       95239 :         return NDR_ERR_SUCCESS;
      99             : }
     100             : 
     101           0 : static void ndr_print_flags_PAC_SIGNATURE_DATA(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_SIGNATURE_DATA *r)
     102             : {
     103           0 :         ndr_print_PAC_SIGNATURE_DATA(ndr, name, r);
     104           0 : }
     105             : 
     106          34 : _PUBLIC_ void ndr_print_PAC_SIGNATURE_DATA(struct ndr_print *ndr, const char *name, const struct PAC_SIGNATURE_DATA *r)
     107             : {
     108          34 :         ndr_print_struct(ndr, name, "PAC_SIGNATURE_DATA");
     109          34 :         if (r == NULL) { ndr_print_null(ndr); return; }
     110             :         {
     111          34 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
     112          34 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     113          34 :                 ndr->depth++;
     114          34 :                 ndr_print_uint32(ndr, "type", r->type);
     115             :                 {
     116          34 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     117          34 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     118          34 :                         ndr_print_DATA_BLOB(ndr, "signature", r->signature);
     119          34 :                         ndr->flags = _flags_save_DATA_BLOB;
     120             :                 }
     121          34 :                 ndr->depth--;
     122          34 :                 ndr->flags = _flags_save_STRUCT;
     123             :         }
     124             : }
     125             : 
     126      173438 : static enum ndr_err_code ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_DOMAIN_GROUP_MEMBERSHIP *r)
     127             : {
     128      173438 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     129      173438 :         if (ndr_flags & NDR_SCALARS) {
     130       86719 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     131       86719 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
     132       86719 :                 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
     133       86719 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     134             :         }
     135      173438 :         if (ndr_flags & NDR_BUFFERS) {
     136       86719 :                 if (r->domain_sid) {
     137       16587 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
     138             :                 }
     139       86719 :                 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
     140             :         }
     141      167698 :         return NDR_ERR_SUCCESS;
     142             : }
     143             : 
     144      205226 : static enum ndr_err_code ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_DOMAIN_GROUP_MEMBERSHIP *r)
     145             : {
     146        5144 :         uint32_t _ptr_domain_sid;
     147      205226 :         TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
     148      205226 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     149      205226 :         if (ndr_flags & NDR_SCALARS) {
     150      102613 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     151      102613 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
     152      102613 :                 if (_ptr_domain_sid) {
     153       33361 :                         NDR_PULL_ALLOC(ndr, r->domain_sid);
     154             :                 } else {
     155       69252 :                         r->domain_sid = NULL;
     156             :                 }
     157      102613 :                 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
     158      102613 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     159             :         }
     160      205226 :         if (ndr_flags & NDR_BUFFERS) {
     161      102613 :                 if (r->domain_sid) {
     162       33361 :                         _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
     163       33361 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
     164       33361 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
     165       33361 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
     166             :                 }
     167      102613 :                 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
     168             :         }
     169      200082 :         return NDR_ERR_SUCCESS;
     170             : }
     171             : 
     172          15 : _PUBLIC_ void ndr_print_PAC_DOMAIN_GROUP_MEMBERSHIP(struct ndr_print *ndr, const char *name, const struct PAC_DOMAIN_GROUP_MEMBERSHIP *r)
     173             : {
     174          15 :         ndr_print_struct(ndr, name, "PAC_DOMAIN_GROUP_MEMBERSHIP");
     175          15 :         if (r == NULL) { ndr_print_null(ndr); return; }
     176          15 :         ndr->depth++;
     177          15 :         ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
     178          15 :         ndr->depth++;
     179          15 :         if (r->domain_sid) {
     180           2 :                 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
     181             :         }
     182          15 :         ndr->depth--;
     183          15 :         ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
     184          15 :         ndr->depth--;
     185             : }
     186             : 
     187       86640 : static enum ndr_err_code ndr_push_PAC_LOGON_INFO(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_LOGON_INFO *r)
     188             : {
     189       86640 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     190       86640 :         if (ndr_flags & NDR_SCALARS) {
     191       86640 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     192       86640 :                 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
     193       86640 :                 NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->resource_groups));
     194       86640 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     195             :         }
     196       86640 :         if (ndr_flags & NDR_BUFFERS) {
     197       86640 :                 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
     198       86640 :                 NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->resource_groups));
     199             :         }
     200       83770 :         return NDR_ERR_SUCCESS;
     201             : }
     202             : 
     203      102473 : static enum ndr_err_code ndr_pull_PAC_LOGON_INFO(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_LOGON_INFO *r)
     204             : {
     205      102473 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     206      102473 :         if (ndr_flags & NDR_SCALARS) {
     207      102473 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     208      102473 :                 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
     209      102473 :                 NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->resource_groups));
     210      102473 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     211             :         }
     212      102473 :         if (ndr_flags & NDR_BUFFERS) {
     213      102473 :                 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
     214      102473 :                 NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->resource_groups));
     215             :         }
     216       99901 :         return NDR_ERR_SUCCESS;
     217             : }
     218             : 
     219          15 : _PUBLIC_ void ndr_print_PAC_LOGON_INFO(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO *r)
     220             : {
     221          15 :         ndr_print_struct(ndr, name, "PAC_LOGON_INFO");
     222          15 :         if (r == NULL) { ndr_print_null(ndr); return; }
     223          15 :         ndr->depth++;
     224          15 :         ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
     225          15 :         ndr_print_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, "resource_groups", &r->resource_groups);
     226          15 :         ndr->depth--;
     227             : }
     228             : 
     229          46 : static enum ndr_err_code ndr_push_PAC_CREDENTIAL_NTLM_FLAGS(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint32_t r)
     230             : {
     231          46 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     232          44 :         return NDR_ERR_SUCCESS;
     233             : }
     234             : 
     235          27 : static enum ndr_err_code ndr_pull_PAC_CREDENTIAL_NTLM_FLAGS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, uint32_t *r)
     236             : {
     237           2 :         uint32_t v;
     238          27 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     239          27 :         *r = v;
     240          27 :         return NDR_ERR_SUCCESS;
     241             : }
     242             : 
     243           2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_NTLM_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r)
     244             : {
     245           2 :         ndr_print_uint32(ndr, name, r);
     246           2 :         ndr->depth++;
     247           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_CREDENTIAL_NTLM_HAS_LM_HASH", PAC_CREDENTIAL_NTLM_HAS_LM_HASH, r);
     248           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_CREDENTIAL_NTLM_HAS_NT_HASH", PAC_CREDENTIAL_NTLM_HAS_NT_HASH, r);
     249           2 :         ndr->depth--;
     250           2 : }
     251             : 
     252          46 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_CREDENTIAL_NTLM_SECPKG *r)
     253             : {
     254          46 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     255          46 :         if (ndr_flags & NDR_SCALARS) {
     256          46 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     257          46 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
     258          48 :                 NDR_CHECK(ndr_push_PAC_CREDENTIAL_NTLM_FLAGS(ndr, NDR_SCALARS, r->flags));
     259          46 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_password));
     260          46 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_password));
     261          46 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     262             :         }
     263          46 :         if (ndr_flags & NDR_BUFFERS) {
     264           2 :         }
     265          46 :         return NDR_ERR_SUCCESS;
     266             : }
     267             : 
     268          27 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_CREDENTIAL_NTLM_SECPKG *r)
     269             : {
     270          27 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     271          27 :         if (ndr_flags & NDR_SCALARS) {
     272          27 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     273          27 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
     274          29 :                 NDR_CHECK(ndr_pull_PAC_CREDENTIAL_NTLM_FLAGS(ndr, NDR_SCALARS, &r->flags));
     275          27 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_password));
     276          27 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_password));
     277          27 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     278             :         }
     279          27 :         if (ndr_flags & NDR_BUFFERS) {
     280           2 :         }
     281          27 :         return NDR_ERR_SUCCESS;
     282             : }
     283             : 
     284           0 : static void ndr_print_flags_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_CREDENTIAL_NTLM_SECPKG *r)
     285             : {
     286           0 :         ndr_print_PAC_CREDENTIAL_NTLM_SECPKG(ndr, name, r);
     287           0 : }
     288             : 
     289           2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_NTLM_SECPKG *r)
     290             : {
     291           2 :         ndr_print_struct(ndr, name, "PAC_CREDENTIAL_NTLM_SECPKG");
     292           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     293           2 :         ndr->depth++;
     294           2 :         ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
     295           2 :         ndr_print_PAC_CREDENTIAL_NTLM_FLAGS(ndr, "flags", r->flags);
     296           2 :         ndr->depth--;
     297             : }
     298             : 
     299          92 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
     300             : {
     301          92 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     302          92 :         if (ndr_flags & NDR_SCALARS) {
     303          46 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     304          46 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
     305          46 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->credential_size));
     306          46 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->credential));
     307          46 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     308             :         }
     309          92 :         if (ndr_flags & NDR_BUFFERS) {
     310          46 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
     311          46 :                 if (r->credential) {
     312          46 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->credential_size));
     313          46 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->credential, r->credential_size));
     314             :                 }
     315             :         }
     316          88 :         return NDR_ERR_SUCCESS;
     317             : }
     318             : 
     319          54 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
     320             : {
     321           4 :         uint32_t _ptr_credential;
     322          54 :         uint32_t size_credential_1 = 0;
     323          54 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
     324          54 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     325          54 :         if (ndr_flags & NDR_SCALARS) {
     326          27 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     327          27 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
     328          27 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->credential_size));
     329          27 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
     330          27 :                 if (_ptr_credential) {
     331          27 :                         NDR_PULL_ALLOC(ndr, r->credential);
     332             :                 } else {
     333           0 :                         r->credential = NULL;
     334             :                 }
     335          27 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     336             :         }
     337          54 :         if (ndr_flags & NDR_BUFFERS) {
     338          27 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
     339          27 :                 if (r->credential) {
     340          27 :                         _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
     341          27 :                         NDR_PULL_SET_MEM_CTX(ndr, r->credential, 0);
     342          27 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->credential));
     343          27 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credential, &size_credential_1));
     344          27 :                         NDR_PULL_ALLOC_N(ndr, r->credential, size_credential_1);
     345          27 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->credential, size_credential_1));
     346          27 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
     347             :                 }
     348          27 :                 if (r->credential) {
     349          27 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->credential, r->credential_size));
     350             :                 }
     351             :         }
     352          50 :         return NDR_ERR_SUCCESS;
     353             : }
     354             : 
     355           0 : static void ndr_print_flags_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
     356             : {
     357           0 :         ndr_print_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, name, r);
     358           0 : }
     359             : 
     360           2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
     361             : {
     362           2 :         ndr_print_struct(ndr, name, "PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG");
     363           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     364           2 :         ndr->depth++;
     365           2 :         ndr_print_lsa_String(ndr, "package_name", &r->package_name);
     366           2 :         ndr_print_uint32(ndr, "credential_size", r->credential_size);
     367           2 :         ndr->depth--;
     368             : }
     369             : 
     370          46 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_DATA(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_CREDENTIAL_DATA *r)
     371             : {
     372           2 :         uint32_t cntr_credentials_0;
     373          46 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     374          46 :         if (ndr_flags & NDR_SCALARS) {
     375          46 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->credential_count));
     376          46 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     377          46 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->credential_count));
     378          92 :                 for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
     379          46 :                         NDR_CHECK(ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_SCALARS, &r->credentials[cntr_credentials_0]));
     380             :                 }
     381          46 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     382             :         }
     383          46 :         if (ndr_flags & NDR_BUFFERS) {
     384          92 :                 for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
     385          46 :                         NDR_CHECK(ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_BUFFERS, &r->credentials[cntr_credentials_0]));
     386             :                 }
     387             :         }
     388          44 :         return NDR_ERR_SUCCESS;
     389             : }
     390             : 
     391          27 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_DATA(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_CREDENTIAL_DATA *r)
     392             : {
     393          27 :         uint32_t size_credentials_0 = 0;
     394           2 :         uint32_t cntr_credentials_0;
     395          27 :         TALLOC_CTX *_mem_save_credentials_0 = NULL;
     396          27 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     397          27 :         if (ndr_flags & NDR_SCALARS) {
     398          27 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->credentials));
     399          27 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     400          27 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->credential_count));
     401          27 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credentials, &size_credentials_0));
     402          27 :                 NDR_PULL_ALLOC_N(ndr, r->credentials, size_credentials_0);
     403          27 :                 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
     404          27 :                 NDR_PULL_SET_MEM_CTX(ndr, r->credentials, 0);
     405          54 :                 for (cntr_credentials_0 = 0; cntr_credentials_0 < (size_credentials_0); cntr_credentials_0++) {
     406          27 :                         NDR_CHECK(ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_SCALARS, &r->credentials[cntr_credentials_0]));
     407             :                 }
     408          27 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, 0);
     409          27 :                 if (r->credentials) {
     410          27 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->credentials, r->credential_count));
     411             :                 }
     412          27 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     413             :         }
     414          27 :         if (ndr_flags & NDR_BUFFERS) {
     415          27 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credentials, &size_credentials_0));
     416          27 :                 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
     417          27 :                 NDR_PULL_SET_MEM_CTX(ndr, r->credentials, 0);
     418          54 :                 for (cntr_credentials_0 = 0; cntr_credentials_0 < (size_credentials_0); cntr_credentials_0++) {
     419          27 :                         NDR_CHECK(ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_BUFFERS, &r->credentials[cntr_credentials_0]));
     420             :                 }
     421          27 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, 0);
     422          52 :                 for (cntr_credentials_0 = 0; cntr_credentials_0 < (size_credentials_0); cntr_credentials_0++) {
     423             :                 }
     424             :         }
     425          25 :         return NDR_ERR_SUCCESS;
     426             : }
     427             : 
     428           0 : static void ndr_print_flags_PAC_CREDENTIAL_DATA(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_CREDENTIAL_DATA *r)
     429             : {
     430           0 :         ndr_print_PAC_CREDENTIAL_DATA(ndr, name, r);
     431           0 : }
     432             : 
     433           2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_DATA(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_DATA *r)
     434             : {
     435           2 :         uint32_t cntr_credentials_0;
     436           2 :         ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA");
     437           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     438           2 :         ndr->depth++;
     439           2 :         ndr_print_uint32(ndr, "credential_count", r->credential_count);
     440           2 :         ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "credentials", (uint32_t)(r->credential_count));
     441           2 :         ndr->depth++;
     442           4 :         for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
     443           2 :                 ndr_print_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, "credentials", &r->credentials[cntr_credentials_0]);
     444             :         }
     445           2 :         ndr->depth--;
     446           2 :         ndr->depth--;
     447             : }
     448             : 
     449          46 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_DATA_CTR(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_CREDENTIAL_DATA_CTR *r)
     450             : {
     451          46 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     452          46 :         if (ndr_flags & NDR_SCALARS) {
     453          46 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     454          46 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
     455          46 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     456             :         }
     457          46 :         if (ndr_flags & NDR_BUFFERS) {
     458          46 :                 if (r->data) {
     459          46 :                         NDR_CHECK(ndr_push_PAC_CREDENTIAL_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, r->data));
     460             :                 }
     461             :         }
     462          44 :         return NDR_ERR_SUCCESS;
     463             : }
     464             : 
     465          27 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_DATA_CTR(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_CREDENTIAL_DATA_CTR *r)
     466             : {
     467           2 :         uint32_t _ptr_data;
     468          27 :         TALLOC_CTX *_mem_save_data_0 = NULL;
     469          27 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     470          27 :         if (ndr_flags & NDR_SCALARS) {
     471          27 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     472          27 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
     473          27 :                 if (_ptr_data) {
     474          27 :                         NDR_PULL_ALLOC(ndr, r->data);
     475             :                 } else {
     476           0 :                         r->data = NULL;
     477             :                 }
     478          27 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     479             :         }
     480          27 :         if (ndr_flags & NDR_BUFFERS) {
     481          27 :                 if (r->data) {
     482          27 :                         _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
     483          27 :                         NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
     484          27 :                         NDR_CHECK(ndr_pull_PAC_CREDENTIAL_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, r->data));
     485          27 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
     486             :                 }
     487             :         }
     488          25 :         return NDR_ERR_SUCCESS;
     489             : }
     490             : 
     491           0 : static void ndr_print_flags_PAC_CREDENTIAL_DATA_CTR(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_CREDENTIAL_DATA_CTR *r)
     492             : {
     493           0 :         ndr_print_PAC_CREDENTIAL_DATA_CTR(ndr, name, r);
     494           0 : }
     495             : 
     496           2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_DATA_CTR(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_DATA_CTR *r)
     497             : {
     498           2 :         ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA_CTR");
     499           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     500           2 :         ndr->depth++;
     501           2 :         ndr_print_ptr(ndr, "data", r->data);
     502           2 :         ndr->depth++;
     503           2 :         if (r->data) {
     504           2 :                 ndr_print_PAC_CREDENTIAL_DATA(ndr, "data", r->data);
     505             :         }
     506           2 :         ndr->depth--;
     507           2 :         ndr->depth--;
     508             : }
     509             : 
     510          46 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_DATA_NDR(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_CREDENTIAL_DATA_NDR *r)
     511             : {
     512          46 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     513          46 :         if (ndr_flags & NDR_SCALARS) {
     514          46 :                 NDR_CHECK(ndr_push_align(ndr, 1));
     515             :                 {
     516           2 :                         struct ndr_push *_ndr_ctr;
     517          46 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr, 0xFFFFFC01, -1));
     518          46 :                         NDR_CHECK(ndr_push_PAC_CREDENTIAL_DATA_CTR(_ndr_ctr, NDR_SCALARS|NDR_BUFFERS, &r->ctr));
     519          46 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr, 0xFFFFFC01, -1));
     520             :                 }
     521          46 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
     522             :         }
     523          46 :         if (ndr_flags & NDR_BUFFERS) {
     524           2 :         }
     525          46 :         return NDR_ERR_SUCCESS;
     526             : }
     527             : 
     528          27 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_DATA_NDR(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_CREDENTIAL_DATA_NDR *r)
     529             : {
     530          27 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     531          27 :         if (ndr_flags & NDR_SCALARS) {
     532          27 :                 NDR_CHECK(ndr_pull_align(ndr, 1));
     533             :                 {
     534           2 :                         struct ndr_pull *_ndr_ctr;
     535          27 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr, 0xFFFFFC01, -1));
     536          27 :                         NDR_CHECK(ndr_pull_PAC_CREDENTIAL_DATA_CTR(_ndr_ctr, NDR_SCALARS|NDR_BUFFERS, &r->ctr));
     537          27 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr, 0xFFFFFC01, -1));
     538             :                 }
     539          27 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
     540             :         }
     541          27 :         if (ndr_flags & NDR_BUFFERS) {
     542           2 :         }
     543          27 :         return NDR_ERR_SUCCESS;
     544             : }
     545             : 
     546           0 : static void ndr_print_flags_PAC_CREDENTIAL_DATA_NDR(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_CREDENTIAL_DATA_NDR *r)
     547             : {
     548           0 :         ndr_print_PAC_CREDENTIAL_DATA_NDR(ndr, name, r);
     549           0 : }
     550             : 
     551           2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_DATA_NDR(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_DATA_NDR *r)
     552             : {
     553           2 :         ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA_NDR");
     554           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     555           2 :         ndr->depth++;
     556           2 :         ndr_print_PAC_CREDENTIAL_DATA_CTR(ndr, "ctr", &r->ctr);
     557           2 :         ndr->depth--;
     558             : }
     559             : 
     560          56 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_INFO(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_CREDENTIAL_INFO *r)
     561             : {
     562          56 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     563          56 :         if (ndr_flags & NDR_SCALARS) {
     564          56 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     565          56 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
     566          56 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->encryption_type));
     567             :                 {
     568          56 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     569          56 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     570          56 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->encrypted_data));
     571          56 :                         ndr->flags = _flags_save_DATA_BLOB;
     572             :                 }
     573          56 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     574             :         }
     575          56 :         if (ndr_flags & NDR_BUFFERS) {
     576          12 :         }
     577          56 :         return NDR_ERR_SUCCESS;
     578             : }
     579             : 
     580          62 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_INFO(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_CREDENTIAL_INFO *r)
     581             : {
     582          62 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     583          62 :         if (ndr_flags & NDR_SCALARS) {
     584          62 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     585          62 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
     586          62 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->encryption_type));
     587             :                 {
     588          62 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     589          62 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     590          62 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->encrypted_data));
     591          62 :                         ndr->flags = _flags_save_DATA_BLOB;
     592             :                 }
     593          62 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     594             :         }
     595          62 :         if (ndr_flags & NDR_BUFFERS) {
     596           4 :         }
     597          62 :         return NDR_ERR_SUCCESS;
     598             : }
     599             : 
     600           0 : static void ndr_print_flags_PAC_CREDENTIAL_INFO(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_CREDENTIAL_INFO *r)
     601             : {
     602           0 :         ndr_print_PAC_CREDENTIAL_INFO(ndr, name, r);
     603           0 : }
     604             : 
     605           4 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_INFO(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_INFO *r)
     606             : {
     607           4 :         ndr_print_struct(ndr, name, "PAC_CREDENTIAL_INFO");
     608           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     609           4 :         ndr->depth++;
     610           4 :         ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
     611           4 :         ndr_print_uint32(ndr, "encryption_type", r->encryption_type);
     612             :         {
     613           4 :                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     614           4 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     615           4 :                 ndr_print_DATA_BLOB(ndr, "encrypted_data", r->encrypted_data);
     616           4 :                 ndr->flags = _flags_save_DATA_BLOB;
     617             :         }
     618           4 :         ndr->depth--;
     619             : }
     620             : 
     621         188 : static enum ndr_err_code ndr_push_PAC_CONSTRAINED_DELEGATION(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_CONSTRAINED_DELEGATION *r)
     622             : {
     623           0 :         uint32_t cntr_transited_services_1;
     624         188 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     625         188 :         if (ndr_flags & NDR_SCALARS) {
     626         188 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     627         188 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->proxy_target));
     628         188 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_transited_services));
     629         188 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transited_services));
     630         188 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     631             :         }
     632         188 :         if (ndr_flags & NDR_BUFFERS) {
     633         188 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->proxy_target));
     634         188 :                 if (r->transited_services) {
     635         188 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_transited_services));
     636         457 :                         for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (r->num_transited_services); cntr_transited_services_1++) {
     637         269 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->transited_services[cntr_transited_services_1]));
     638             :                         }
     639         457 :                         for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (r->num_transited_services); cntr_transited_services_1++) {
     640         269 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->transited_services[cntr_transited_services_1]));
     641             :                         }
     642             :                 }
     643             :         }
     644         188 :         return NDR_ERR_SUCCESS;
     645             : }
     646             : 
     647         295 : static enum ndr_err_code ndr_pull_PAC_CONSTRAINED_DELEGATION(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_CONSTRAINED_DELEGATION *r)
     648             : {
     649           0 :         uint32_t _ptr_transited_services;
     650         295 :         uint32_t size_transited_services_1 = 0;
     651           0 :         uint32_t cntr_transited_services_1;
     652         295 :         TALLOC_CTX *_mem_save_transited_services_0 = NULL;
     653         295 :         TALLOC_CTX *_mem_save_transited_services_1 = NULL;
     654         295 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     655         295 :         if (ndr_flags & NDR_SCALARS) {
     656         295 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     657         295 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->proxy_target));
     658         295 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_transited_services));
     659         295 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transited_services));
     660         295 :                 if (_ptr_transited_services) {
     661         295 :                         NDR_PULL_ALLOC(ndr, r->transited_services);
     662             :                 } else {
     663           0 :                         r->transited_services = NULL;
     664             :                 }
     665         295 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     666             :         }
     667         295 :         if (ndr_flags & NDR_BUFFERS) {
     668         295 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->proxy_target));
     669         295 :                 if (r->transited_services) {
     670         295 :                         _mem_save_transited_services_0 = NDR_PULL_GET_MEM_CTX(ndr);
     671         295 :                         NDR_PULL_SET_MEM_CTX(ndr, r->transited_services, 0);
     672         295 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->transited_services));
     673         295 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->transited_services, &size_transited_services_1));
     674         295 :                         NDR_PULL_ALLOC_N(ndr, r->transited_services, size_transited_services_1);
     675         295 :                         _mem_save_transited_services_1 = NDR_PULL_GET_MEM_CTX(ndr);
     676         295 :                         NDR_PULL_SET_MEM_CTX(ndr, r->transited_services, 0);
     677         614 :                         for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
     678         319 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->transited_services[cntr_transited_services_1]));
     679             :                         }
     680         614 :                         for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
     681         319 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->transited_services[cntr_transited_services_1]));
     682             :                         }
     683         295 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transited_services_1, 0);
     684         295 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transited_services_0, 0);
     685             :                 }
     686         295 :                 if (r->transited_services) {
     687         295 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->transited_services, r->num_transited_services));
     688             :                 }
     689         614 :                 for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
     690           0 :                 }
     691             :         }
     692         295 :         return NDR_ERR_SUCCESS;
     693             : }
     694             : 
     695           0 : _PUBLIC_ void ndr_print_PAC_CONSTRAINED_DELEGATION(struct ndr_print *ndr, const char *name, const struct PAC_CONSTRAINED_DELEGATION *r)
     696             : {
     697           0 :         uint32_t cntr_transited_services_1;
     698           0 :         ndr_print_struct(ndr, name, "PAC_CONSTRAINED_DELEGATION");
     699           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     700           0 :         ndr->depth++;
     701           0 :         ndr_print_lsa_String(ndr, "proxy_target", &r->proxy_target);
     702           0 :         ndr_print_uint32(ndr, "num_transited_services", r->num_transited_services);
     703           0 :         ndr_print_ptr(ndr, "transited_services", r->transited_services);
     704           0 :         ndr->depth++;
     705           0 :         if (r->transited_services) {
     706           0 :                 ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "transited_services", (uint32_t)(r->num_transited_services));
     707           0 :                 ndr->depth++;
     708           0 :                 for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (r->num_transited_services); cntr_transited_services_1++) {
     709           0 :                         ndr_print_lsa_String(ndr, "transited_services", &r->transited_services[cntr_transited_services_1]);
     710             :                 }
     711           0 :                 ndr->depth--;
     712             :         }
     713           0 :         ndr->depth--;
     714           0 :         ndr->depth--;
     715             : }
     716             : 
     717       39707 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_FLAGS(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint32_t r)
     718             : {
     719       39707 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     720       38513 :         return NDR_ERR_SUCCESS;
     721             : }
     722             : 
     723      101911 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_FLAGS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, uint32_t *r)
     724             : {
     725        2563 :         uint32_t v;
     726      101911 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     727      101911 :         *r = v;
     728      101911 :         return NDR_ERR_SUCCESS;
     729             : }
     730             : 
     731          15 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r)
     732             : {
     733          15 :         ndr_print_uint32(ndr, name, r);
     734          15 :         ndr->depth++;
     735          15 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_UPN_DNS_FLAG_CONSTRUCTED", PAC_UPN_DNS_FLAG_CONSTRUCTED, r);
     736          15 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID", PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID, r);
     737          15 :         ndr->depth--;
     738          15 : }
     739             : 
     740       79372 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_UPN_DNS_INFO_SAM_NAME_AND_SID *r)
     741             : {
     742       79372 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     743       79372 :         if (ndr_flags & NDR_SCALARS) {
     744       39686 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     745       39686 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->samaccountname)));
     746             :                 {
     747       39686 :                         libndr_flags _flags_save_string = ndr->flags;
     748       39686 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
     749       39686 :                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->samaccountname));
     750       39686 :                         ndr->flags = _flags_save_string;
     751             :                 }
     752       39686 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_dom_sid(r->objectsid, ndr->flags)));
     753       39686 :                 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->objectsid));
     754       39686 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     755             :         }
     756       79372 :         if (ndr_flags & NDR_BUFFERS) {
     757             :                 {
     758       39686 :                         libndr_flags _flags_save_string = ndr->flags;
     759       39686 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
     760       39686 :                         if (r->samaccountname) {
     761       39686 :                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->samaccountname));
     762             :                                 {
     763        1173 :                                         struct ndr_push *_ndr_samaccountname;
     764       39686 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_samaccountname, 0, 2 * strlen_m(r->samaccountname)));
     765       39686 :                                         NDR_CHECK(ndr_push_string(_ndr_samaccountname, NDR_SCALARS, r->samaccountname));
     766       39686 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_samaccountname, 0, 2 * strlen_m(r->samaccountname)));
     767             :                                 }
     768             :                         }
     769       39686 :                         ndr->flags = _flags_save_string;
     770             :                 }
     771       39686 :                 if (r->objectsid) {
     772       39686 :                         NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->objectsid));
     773             :                         {
     774        1173 :                                 struct ndr_push *_ndr_objectsid;
     775       39686 :                                 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_objectsid, 0, ndr_size_dom_sid(r->objectsid, ndr->flags)));
     776       39686 :                                 NDR_CHECK(ndr_push_dom_sid(_ndr_objectsid, NDR_SCALARS, r->objectsid));
     777       39686 :                                 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_objectsid, 0, ndr_size_dom_sid(r->objectsid, ndr->flags)));
     778             :                         }
     779             :                 }
     780             :         }
     781       77026 :         return NDR_ERR_SUCCESS;
     782             : }
     783             : 
     784      203796 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_UPN_DNS_INFO_SAM_NAME_AND_SID *r)
     785             : {
     786        5100 :         uint16_t _ptr_samaccountname;
     787      203796 :         TALLOC_CTX *_mem_save_samaccountname_0 = NULL;
     788        5100 :         uint16_t _ptr_objectsid;
     789      203796 :         TALLOC_CTX *_mem_save_objectsid_0 = NULL;
     790      203796 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     791      203796 :         if (ndr_flags & NDR_SCALARS) {
     792      101898 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     793      101898 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->samaccountname_size));
     794             :                 {
     795      101898 :                         libndr_flags _flags_save_string = ndr->flags;
     796      101898 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
     797      101898 :                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_samaccountname));
     798      101898 :                         if (_ptr_samaccountname) {
     799      101898 :                                 NDR_PULL_ALLOC(ndr, r->samaccountname);
     800      101898 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->samaccountname, _ptr_samaccountname));
     801             :                         } else {
     802           0 :                                 r->samaccountname = NULL;
     803             :                         }
     804      101898 :                         ndr->flags = _flags_save_string;
     805             :                 }
     806      101898 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->objectsid_size));
     807      101898 :                 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_objectsid));
     808      101898 :                 if (_ptr_objectsid) {
     809      101898 :                         NDR_PULL_ALLOC(ndr, r->objectsid);
     810      101898 :                         NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->objectsid, _ptr_objectsid));
     811             :                 } else {
     812           0 :                         r->objectsid = NULL;
     813             :                 }
     814      101898 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     815             :         }
     816      203796 :         if (ndr_flags & NDR_BUFFERS) {
     817             :                 {
     818      101898 :                         libndr_flags _flags_save_string = ndr->flags;
     819      101898 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
     820      101898 :                         if (r->samaccountname) {
     821        2550 :                                 uint32_t _relative_save_offset;
     822      101898 :                                 _relative_save_offset = ndr->offset;
     823      101898 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->samaccountname));
     824      101898 :                                 _mem_save_samaccountname_0 = NDR_PULL_GET_MEM_CTX(ndr);
     825      101898 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->samaccountname, 0);
     826             :                                 {
     827        2550 :                                         struct ndr_pull *_ndr_samaccountname;
     828      101898 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_samaccountname, 0, r->samaccountname_size));
     829      101898 :                                         NDR_CHECK(ndr_pull_string(_ndr_samaccountname, NDR_SCALARS, &r->samaccountname));
     830      101898 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_samaccountname, 0, r->samaccountname_size));
     831             :                                 }
     832      101898 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_samaccountname_0, 0);
     833      101898 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     834      101898 :                                         ndr->relative_highest_offset = ndr->offset;
     835             :                                 }
     836      101898 :                                 ndr->offset = _relative_save_offset;
     837             :                         }
     838      101898 :                         ndr->flags = _flags_save_string;
     839             :                 }
     840      101898 :                 if (r->objectsid) {
     841        2550 :                         uint32_t _relative_save_offset;
     842      101898 :                         _relative_save_offset = ndr->offset;
     843      101898 :                         NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->objectsid));
     844      101898 :                         _mem_save_objectsid_0 = NDR_PULL_GET_MEM_CTX(ndr);
     845      101898 :                         NDR_PULL_SET_MEM_CTX(ndr, r->objectsid, 0);
     846             :                         {
     847        2550 :                                 struct ndr_pull *_ndr_objectsid;
     848      101898 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_objectsid, 0, r->objectsid_size));
     849      101898 :                                 NDR_CHECK(ndr_pull_dom_sid(_ndr_objectsid, NDR_SCALARS, r->objectsid));
     850      101898 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_objectsid, 0, r->objectsid_size));
     851             :                         }
     852      101898 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objectsid_0, 0);
     853      101898 :                         if (ndr->offset > ndr->relative_highest_offset) {
     854      101898 :                                 ndr->relative_highest_offset = ndr->offset;
     855             :                         }
     856      101898 :                         ndr->offset = _relative_save_offset;
     857             :                 }
     858             :         }
     859      198696 :         return NDR_ERR_SUCCESS;
     860             : }
     861             : 
     862           2 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(struct ndr_print *ndr, const char *name, const struct PAC_UPN_DNS_INFO_SAM_NAME_AND_SID *r)
     863             : {
     864           2 :         ndr_print_struct(ndr, name, "PAC_UPN_DNS_INFO_SAM_NAME_AND_SID");
     865           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     866           2 :         ndr->depth++;
     867           2 :         ndr_print_uint16(ndr, "samaccountname_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->samaccountname):r->samaccountname_size);
     868             :         {
     869           2 :                 libndr_flags _flags_save_string = ndr->flags;
     870           2 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
     871           2 :                 ndr_print_ptr(ndr, "samaccountname", r->samaccountname);
     872           2 :                 ndr->depth++;
     873           2 :                 if (r->samaccountname) {
     874           2 :                         ndr_print_string(ndr, "samaccountname", r->samaccountname);
     875             :                 }
     876           2 :                 ndr->depth--;
     877           2 :                 ndr->flags = _flags_save_string;
     878             :         }
     879           2 :         ndr_print_uint16(ndr, "objectsid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid(r->objectsid, ndr->flags):r->objectsid_size);
     880           2 :         ndr_print_ptr(ndr, "objectsid", r->objectsid);
     881           2 :         ndr->depth++;
     882           2 :         if (r->objectsid) {
     883           2 :                 ndr_print_dom_sid(ndr, "objectsid", r->objectsid);
     884             :         }
     885           2 :         ndr->depth--;
     886           2 :         ndr->depth--;
     887             : }
     888             : 
     889       79414 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_INFO_EX(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union PAC_UPN_DNS_INFO_EX *r)
     890             : {
     891        2388 :         uint32_t level;
     892       79414 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     893       79414 :         if (ndr_flags & NDR_SCALARS) {
     894             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     895       39707 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     896       39707 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     897       39707 :                 switch (level) {
     898       39686 :                         case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID: {
     899       39686 :                                 NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_SCALARS, &r->sam_name_and_sid));
     900       38513 :                         break; }
     901             : 
     902           0 :                         default: {
     903           0 :                         break; }
     904             : 
     905             :                 }
     906             :         }
     907       79414 :         if (ndr_flags & NDR_BUFFERS) {
     908       39707 :                 if (!(ndr_flags & NDR_SCALARS)) {
     909             :                         /* We didn't get it above, and the token is not needed after this. */
     910       39707 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     911             :                 }
     912       39707 :                 switch (level) {
     913       39686 :                         case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID:
     914       39686 :                                 NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_BUFFERS, &r->sam_name_and_sid));
     915       38513 :                         break;
     916             : 
     917           0 :                         default:
     918           0 :                         break;
     919             : 
     920             :                 }
     921             :         }
     922       77026 :         return NDR_ERR_SUCCESS;
     923             : }
     924             : 
     925      203822 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_INFO_EX(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union PAC_UPN_DNS_INFO_EX *r)
     926             : {
     927        5126 :         uint32_t level;
     928      203822 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     929      203822 :         if (ndr_flags & NDR_SCALARS) {
     930             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     931      101911 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     932      101911 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     933      101911 :                 switch (level) {
     934      101898 :                         case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID: {
     935      101898 :                                 NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_SCALARS, &r->sam_name_and_sid));
     936       99348 :                         break; }
     937             : 
     938           0 :                         default: {
     939           0 :                         break; }
     940             : 
     941             :                 }
     942             :         }
     943      203822 :         if (ndr_flags & NDR_BUFFERS) {
     944      101911 :                 if (!(ndr_flags & NDR_SCALARS)) {
     945             :                         /* We didn't get it above, and the token is not needed after this. */
     946      101911 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     947             :                 }
     948      101911 :                 switch (level) {
     949      101898 :                         case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID:
     950      101898 :                                 NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_BUFFERS, &r->sam_name_and_sid));
     951       99348 :                         break;
     952             : 
     953           0 :                         default:
     954           0 :                         break;
     955             : 
     956             :                 }
     957             :         }
     958      198696 :         return NDR_ERR_SUCCESS;
     959             : }
     960             : 
     961          15 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_INFO_EX(struct ndr_print *ndr, const char *name, const union PAC_UPN_DNS_INFO_EX *r)
     962             : {
     963          15 :         uint32_t level;
     964          15 :         level = ndr_print_steal_switch_value(ndr, r);
     965          15 :         ndr_print_union(ndr, name, level, "PAC_UPN_DNS_INFO_EX");
     966          15 :         switch (level) {
     967           2 :                 case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID:
     968           2 :                         ndr_print_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, "sam_name_and_sid", &r->sam_name_and_sid);
     969           2 :                 break;
     970             : 
     971           0 :                 default:
     972           0 :                 break;
     973             : 
     974             :         }
     975          15 : }
     976             : 
     977       79414 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_INFO(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_UPN_DNS_INFO *r)
     978             : {
     979       79414 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     980       79414 :         if (ndr_flags & NDR_SCALARS) {
     981       39707 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     982       39707 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->upn_name)));
     983             :                 {
     984       39707 :                         libndr_flags _flags_save_string = ndr->flags;
     985       39707 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
     986       39707 :                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->upn_name));
     987       39707 :                         ndr->flags = _flags_save_string;
     988             :                 }
     989       39707 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->dns_domain_name)));
     990             :                 {
     991       39707 :                         libndr_flags _flags_save_string = ndr->flags;
     992       39707 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
     993       39707 :                         NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->dns_domain_name));
     994       39707 :                         ndr->flags = _flags_save_string;
     995             :                 }
     996       40901 :                 NDR_CHECK(ndr_push_PAC_UPN_DNS_FLAGS(ndr, NDR_SCALARS, r->flags));
     997       39707 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
     998       39707 :                 NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_EX(ndr, NDR_SCALARS, &r->ex));
     999       39707 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1000             :         }
    1001       79414 :         if (ndr_flags & NDR_BUFFERS) {
    1002             :                 {
    1003       39707 :                         libndr_flags _flags_save_string = ndr->flags;
    1004       39707 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
    1005       39707 :                         if (r->upn_name) {
    1006       39707 :                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->upn_name));
    1007             :                                 {
    1008        1194 :                                         struct ndr_push *_ndr_upn_name;
    1009       39707 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_upn_name, 0, 2 * strlen_m(r->upn_name)));
    1010       39707 :                                         NDR_CHECK(ndr_push_string(_ndr_upn_name, NDR_SCALARS, r->upn_name));
    1011       39707 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_upn_name, 0, 2 * strlen_m(r->upn_name)));
    1012             :                                 }
    1013             :                         }
    1014       39707 :                         ndr->flags = _flags_save_string;
    1015             :                 }
    1016             :                 {
    1017       39707 :                         libndr_flags _flags_save_string = ndr->flags;
    1018       39707 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
    1019       39707 :                         if (r->dns_domain_name) {
    1020       39707 :                                 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->dns_domain_name));
    1021             :                                 {
    1022        1194 :                                         struct ndr_push *_ndr_dns_domain_name;
    1023       39707 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dns_domain_name, 0, 2 * strlen_m(r->dns_domain_name)));
    1024       39707 :                                         NDR_CHECK(ndr_push_string(_ndr_dns_domain_name, NDR_SCALARS, r->dns_domain_name));
    1025       39707 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dns_domain_name, 0, 2 * strlen_m(r->dns_domain_name)));
    1026             :                                 }
    1027             :                         }
    1028       39707 :                         ndr->flags = _flags_save_string;
    1029             :                 }
    1030       39707 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
    1031       39707 :                 NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_EX(ndr, NDR_BUFFERS, &r->ex));
    1032             :         }
    1033       77026 :         return NDR_ERR_SUCCESS;
    1034             : }
    1035             : 
    1036      203822 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_INFO(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_UPN_DNS_INFO *r)
    1037             : {
    1038        5126 :         uint16_t _ptr_upn_name;
    1039      203822 :         TALLOC_CTX *_mem_save_upn_name_0 = NULL;
    1040        5126 :         uint16_t _ptr_dns_domain_name;
    1041      203822 :         TALLOC_CTX *_mem_save_dns_domain_name_0 = NULL;
    1042      203822 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1043      203822 :         if (ndr_flags & NDR_SCALARS) {
    1044      101911 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1045      101911 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->upn_name_size));
    1046             :                 {
    1047      101911 :                         libndr_flags _flags_save_string = ndr->flags;
    1048      101911 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
    1049      101911 :                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_upn_name));
    1050      101911 :                         if (_ptr_upn_name) {
    1051      101911 :                                 NDR_PULL_ALLOC(ndr, r->upn_name);
    1052      101911 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->upn_name, _ptr_upn_name));
    1053             :                         } else {
    1054           0 :                                 r->upn_name = NULL;
    1055             :                         }
    1056      101911 :                         ndr->flags = _flags_save_string;
    1057             :                 }
    1058      101911 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->dns_domain_name_size));
    1059             :                 {
    1060      101911 :                         libndr_flags _flags_save_string = ndr->flags;
    1061      101911 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
    1062      101911 :                         NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_dns_domain_name));
    1063      101911 :                         if (_ptr_dns_domain_name) {
    1064      101911 :                                 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
    1065      101911 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_domain_name, _ptr_dns_domain_name));
    1066             :                         } else {
    1067           0 :                                 r->dns_domain_name = NULL;
    1068             :                         }
    1069      101911 :                         ndr->flags = _flags_save_string;
    1070             :                 }
    1071      104474 :                 NDR_CHECK(ndr_pull_PAC_UPN_DNS_FLAGS(ndr, NDR_SCALARS, &r->flags));
    1072      101911 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
    1073      101911 :                 NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_EX(ndr, NDR_SCALARS, &r->ex));
    1074      101911 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1075             :         }
    1076      203822 :         if (ndr_flags & NDR_BUFFERS) {
    1077             :                 {
    1078      101911 :                         libndr_flags _flags_save_string = ndr->flags;
    1079      101911 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
    1080      101911 :                         if (r->upn_name) {
    1081        2563 :                                 uint32_t _relative_save_offset;
    1082      101911 :                                 _relative_save_offset = ndr->offset;
    1083      101911 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->upn_name));
    1084      101911 :                                 _mem_save_upn_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1085      101911 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->upn_name, 0);
    1086             :                                 {
    1087        2563 :                                         struct ndr_pull *_ndr_upn_name;
    1088      101911 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_upn_name, 0, r->upn_name_size));
    1089      101911 :                                         NDR_CHECK(ndr_pull_string(_ndr_upn_name, NDR_SCALARS, &r->upn_name));
    1090      101911 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_upn_name, 0, r->upn_name_size));
    1091             :                                 }
    1092      101911 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_upn_name_0, 0);
    1093      101911 :                                 if (ndr->offset > ndr->relative_highest_offset) {
    1094      101911 :                                         ndr->relative_highest_offset = ndr->offset;
    1095             :                                 }
    1096      101911 :                                 ndr->offset = _relative_save_offset;
    1097             :                         }
    1098      101911 :                         ndr->flags = _flags_save_string;
    1099             :                 }
    1100             :                 {
    1101      101911 :                         libndr_flags _flags_save_string = ndr->flags;
    1102      101911 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
    1103      101911 :                         if (r->dns_domain_name) {
    1104        2563 :                                 uint32_t _relative_save_offset;
    1105      101911 :                                 _relative_save_offset = ndr->offset;
    1106      101911 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_domain_name));
    1107      101911 :                                 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1108      101911 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
    1109             :                                 {
    1110        2563 :                                         struct ndr_pull *_ndr_dns_domain_name;
    1111      101911 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dns_domain_name, 0, r->dns_domain_name_size));
    1112      101911 :                                         NDR_CHECK(ndr_pull_string(_ndr_dns_domain_name, NDR_SCALARS, &r->dns_domain_name));
    1113      101911 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dns_domain_name, 0, r->dns_domain_name_size));
    1114             :                                 }
    1115      101911 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
    1116      101911 :                                 if (ndr->offset > ndr->relative_highest_offset) {
    1117      101911 :                                         ndr->relative_highest_offset = ndr->offset;
    1118             :                                 }
    1119      101911 :                                 ndr->offset = _relative_save_offset;
    1120             :                         }
    1121      101911 :                         ndr->flags = _flags_save_string;
    1122             :                 }
    1123      101911 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
    1124      101911 :                 NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_EX(ndr, NDR_BUFFERS, &r->ex));
    1125             :         }
    1126      198696 :         return NDR_ERR_SUCCESS;
    1127             : }
    1128             : 
    1129          15 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_INFO(struct ndr_print *ndr, const char *name, const struct PAC_UPN_DNS_INFO *r)
    1130             : {
    1131          15 :         ndr_print_struct(ndr, name, "PAC_UPN_DNS_INFO");
    1132          15 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1133          15 :         ndr->depth++;
    1134          15 :         ndr_print_uint16(ndr, "upn_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->upn_name):r->upn_name_size);
    1135             :         {
    1136          15 :                 libndr_flags _flags_save_string = ndr->flags;
    1137          15 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
    1138          15 :                 ndr_print_ptr(ndr, "upn_name", r->upn_name);
    1139          15 :                 ndr->depth++;
    1140          15 :                 if (r->upn_name) {
    1141          15 :                         ndr_print_string(ndr, "upn_name", r->upn_name);
    1142             :                 }
    1143          15 :                 ndr->depth--;
    1144          15 :                 ndr->flags = _flags_save_string;
    1145             :         }
    1146          15 :         ndr_print_uint16(ndr, "dns_domain_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->dns_domain_name):r->dns_domain_name_size);
    1147             :         {
    1148          15 :                 libndr_flags _flags_save_string = ndr->flags;
    1149          15 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
    1150          15 :                 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
    1151          15 :                 ndr->depth++;
    1152          15 :                 if (r->dns_domain_name) {
    1153          15 :                         ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
    1154             :                 }
    1155          15 :                 ndr->depth--;
    1156          15 :                 ndr->flags = _flags_save_string;
    1157             :         }
    1158          15 :         ndr_print_PAC_UPN_DNS_FLAGS(ndr, "flags", r->flags);
    1159          15 :         ndr_print_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID);
    1160          15 :         ndr_print_PAC_UPN_DNS_INFO_EX(ndr, "ex", &r->ex);
    1161          15 :         ndr->depth--;
    1162             : }
    1163             : 
    1164       34514 : static enum ndr_err_code ndr_push_PAC_ATTRIBUTE_INFO_FLAGS(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint32_t r)
    1165             : {
    1166       34514 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    1167       33344 :         return NDR_ERR_SUCCESS;
    1168             : }
    1169             : 
    1170       24701 : static enum ndr_err_code ndr_pull_PAC_ATTRIBUTE_INFO_FLAGS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, uint32_t *r)
    1171             : {
    1172         632 :         uint32_t v;
    1173       24701 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    1174       24701 :         *r = v;
    1175       24701 :         return NDR_ERR_SUCCESS;
    1176             : }
    1177             : 
    1178           0 : _PUBLIC_ void ndr_print_PAC_ATTRIBUTE_INFO_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r)
    1179             : {
    1180           0 :         ndr_print_uint32(ndr, name, r);
    1181           0 :         ndr->depth++;
    1182           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_ATTRIBUTE_FLAG_PAC_WAS_REQUESTED", PAC_ATTRIBUTE_FLAG_PAC_WAS_REQUESTED, r);
    1183           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY", PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY, r);
    1184           0 :         ndr->depth--;
    1185           0 : }
    1186             : 
    1187       34514 : static enum ndr_err_code ndr_push_PAC_ATTRIBUTES_INFO(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_ATTRIBUTES_INFO *r)
    1188             : {
    1189       34514 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1190       34514 :         if (ndr_flags & NDR_SCALARS) {
    1191       34514 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    1192       34514 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags_length));
    1193       35684 :                 NDR_CHECK(ndr_push_PAC_ATTRIBUTE_INFO_FLAGS(ndr, NDR_SCALARS, r->flags));
    1194       34514 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1195             :         }
    1196       34514 :         if (ndr_flags & NDR_BUFFERS) {
    1197        1170 :         }
    1198       34514 :         return NDR_ERR_SUCCESS;
    1199             : }
    1200             : 
    1201       24701 : static enum ndr_err_code ndr_pull_PAC_ATTRIBUTES_INFO(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_ATTRIBUTES_INFO *r)
    1202             : {
    1203       24701 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1204       24701 :         if (ndr_flags & NDR_SCALARS) {
    1205       24701 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    1206       24701 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_length));
    1207       25333 :                 NDR_CHECK(ndr_pull_PAC_ATTRIBUTE_INFO_FLAGS(ndr, NDR_SCALARS, &r->flags));
    1208       24701 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1209             :         }
    1210       24701 :         if (ndr_flags & NDR_BUFFERS) {
    1211         632 :         }
    1212       24701 :         return NDR_ERR_SUCCESS;
    1213             : }
    1214             : 
    1215           0 : _PUBLIC_ void ndr_print_PAC_ATTRIBUTES_INFO(struct ndr_print *ndr, const char *name, const struct PAC_ATTRIBUTES_INFO *r)
    1216             : {
    1217           0 :         ndr_print_struct(ndr, name, "PAC_ATTRIBUTES_INFO");
    1218           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1219           0 :         ndr->depth++;
    1220           0 :         ndr_print_uint32(ndr, "flags_length", r->flags_length);
    1221           0 :         ndr_print_PAC_ATTRIBUTE_INFO_FLAGS(ndr, "flags", r->flags);
    1222           0 :         ndr->depth--;
    1223             : }
    1224             : 
    1225       34508 : static enum ndr_err_code ndr_push_PAC_REQUESTER_SID(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_REQUESTER_SID *r)
    1226             : {
    1227       34508 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1228       34508 :         if (ndr_flags & NDR_SCALARS) {
    1229       34508 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    1230       34508 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sid));
    1231       34508 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1232             :         }
    1233       34508 :         if (ndr_flags & NDR_BUFFERS) {
    1234        1170 :         }
    1235       34508 :         return NDR_ERR_SUCCESS;
    1236             : }
    1237             : 
    1238       53438 : static enum ndr_err_code ndr_pull_PAC_REQUESTER_SID(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_REQUESTER_SID *r)
    1239             : {
    1240       53438 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1241       53438 :         if (ndr_flags & NDR_SCALARS) {
    1242       53438 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    1243       53438 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sid));
    1244       53438 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1245             :         }
    1246       53438 :         if (ndr_flags & NDR_BUFFERS) {
    1247        1667 :         }
    1248       53438 :         return NDR_ERR_SUCCESS;
    1249             : }
    1250             : 
    1251           0 : _PUBLIC_ void ndr_print_PAC_REQUESTER_SID(struct ndr_print *ndr, const char *name, const struct PAC_REQUESTER_SID *r)
    1252             : {
    1253           0 :         ndr_print_struct(ndr, name, "PAC_REQUESTER_SID");
    1254           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1255           0 :         ndr->depth++;
    1256           0 :         ndr_print_dom_sid(ndr, "sid", &r->sid);
    1257           0 :         ndr->depth--;
    1258             : }
    1259             : 
    1260       86640 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_LOGON_INFO_CTR(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_LOGON_INFO_CTR *r)
    1261             : {
    1262       86640 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1263       86640 :         if (ndr_flags & NDR_SCALARS) {
    1264       86640 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1265       86640 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
    1266       86640 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1267             :         }
    1268       86640 :         if (ndr_flags & NDR_BUFFERS) {
    1269       86640 :                 if (r->info) {
    1270       86640 :                         NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
    1271             :                 }
    1272             :         }
    1273       83770 :         return NDR_ERR_SUCCESS;
    1274             : }
    1275             : 
    1276      102473 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_LOGON_INFO_CTR(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_LOGON_INFO_CTR *r)
    1277             : {
    1278        2572 :         uint32_t _ptr_info;
    1279      102473 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    1280      102473 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1281      102473 :         if (ndr_flags & NDR_SCALARS) {
    1282      102473 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1283      102473 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    1284      102473 :                 if (_ptr_info) {
    1285      102473 :                         NDR_PULL_ALLOC(ndr, r->info);
    1286             :                 } else {
    1287           0 :                         r->info = NULL;
    1288             :                 }
    1289      102473 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1290             :         }
    1291      102473 :         if (ndr_flags & NDR_BUFFERS) {
    1292      102473 :                 if (r->info) {
    1293      102473 :                         _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1294      102473 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
    1295      102473 :                         NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
    1296      102473 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
    1297             :                 }
    1298             :         }
    1299       99901 :         return NDR_ERR_SUCCESS;
    1300             : }
    1301             : 
    1302           0 : static void ndr_print_flags_PAC_LOGON_INFO_CTR(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_LOGON_INFO_CTR *r)
    1303             : {
    1304           0 :         ndr_print_PAC_LOGON_INFO_CTR(ndr, name, r);
    1305           0 : }
    1306             : 
    1307          15 : _PUBLIC_ void ndr_print_PAC_LOGON_INFO_CTR(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO_CTR *r)
    1308             : {
    1309          15 :         ndr_print_struct(ndr, name, "PAC_LOGON_INFO_CTR");
    1310          15 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1311          15 :         ndr->depth++;
    1312          15 :         ndr_print_ptr(ndr, "info", r->info);
    1313          15 :         ndr->depth++;
    1314          15 :         if (r->info) {
    1315          15 :                 ndr_print_PAC_LOGON_INFO(ndr, "info", r->info);
    1316             :         }
    1317          15 :         ndr->depth--;
    1318          15 :         ndr->depth--;
    1319             : }
    1320             : 
    1321         188 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_CONSTRAINED_DELEGATION_CTR *r)
    1322             : {
    1323         188 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1324         188 :         if (ndr_flags & NDR_SCALARS) {
    1325         188 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1326         188 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
    1327         188 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1328             :         }
    1329         188 :         if (ndr_flags & NDR_BUFFERS) {
    1330         188 :                 if (r->info) {
    1331         188 :                         NDR_CHECK(ndr_push_PAC_CONSTRAINED_DELEGATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
    1332             :                 }
    1333             :         }
    1334         188 :         return NDR_ERR_SUCCESS;
    1335             : }
    1336             : 
    1337         295 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_CONSTRAINED_DELEGATION_CTR *r)
    1338             : {
    1339           0 :         uint32_t _ptr_info;
    1340         295 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    1341         295 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1342         295 :         if (ndr_flags & NDR_SCALARS) {
    1343         295 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1344         295 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    1345         295 :                 if (_ptr_info) {
    1346         295 :                         NDR_PULL_ALLOC(ndr, r->info);
    1347             :                 } else {
    1348           0 :                         r->info = NULL;
    1349             :                 }
    1350         295 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1351             :         }
    1352         295 :         if (ndr_flags & NDR_BUFFERS) {
    1353         295 :                 if (r->info) {
    1354         295 :                         _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1355         295 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
    1356         295 :                         NDR_CHECK(ndr_pull_PAC_CONSTRAINED_DELEGATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
    1357         295 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
    1358             :                 }
    1359             :         }
    1360         295 :         return NDR_ERR_SUCCESS;
    1361             : }
    1362             : 
    1363           0 : static void ndr_print_flags_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_CONSTRAINED_DELEGATION_CTR *r)
    1364             : {
    1365           0 :         ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(ndr, name, r);
    1366           0 : }
    1367             : 
    1368           0 : _PUBLIC_ void ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_print *ndr, const char *name, const struct PAC_CONSTRAINED_DELEGATION_CTR *r)
    1369             : {
    1370           0 :         ndr_print_struct(ndr, name, "PAC_CONSTRAINED_DELEGATION_CTR");
    1371           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1372           0 :         ndr->depth++;
    1373           0 :         ndr_print_ptr(ndr, "info", r->info);
    1374           0 :         ndr->depth++;
    1375           0 :         if (r->info) {
    1376           0 :                 ndr_print_PAC_CONSTRAINED_DELEGATION(ndr, "info", r->info);
    1377             :         }
    1378           0 :         ndr->depth--;
    1379           0 :         ndr->depth--;
    1380             : }
    1381             : 
    1382         360 : static enum ndr_err_code ndr_push_PAC_DEVICE_INFO(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_DEVICE_INFO *r)
    1383             : {
    1384           0 :         uint32_t cntr_sids_1;
    1385           0 :         uint32_t cntr_domain_groups_1;
    1386         360 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1387         360 :         if (ndr_flags & NDR_SCALARS) {
    1388         360 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1389         360 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    1390         360 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
    1391         360 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
    1392         360 :                 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
    1393         360 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_count));
    1394         360 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
    1395         360 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->domain_group_count));
    1396         360 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_groups));
    1397         360 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1398             :         }
    1399         360 :         if (ndr_flags & NDR_BUFFERS) {
    1400         360 :                 if (r->domain_sid) {
    1401         360 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
    1402             :                 }
    1403         360 :                 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
    1404         360 :                 if (r->sids) {
    1405         358 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sid_count));
    1406        1037 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (r->sid_count); cntr_sids_1++) {
    1407         679 :                                 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
    1408             :                         }
    1409        1037 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (r->sid_count); cntr_sids_1++) {
    1410         679 :                                 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
    1411             :                         }
    1412             :                 }
    1413         360 :                 if (r->domain_groups) {
    1414          59 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->domain_group_count));
    1415         138 :                         for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (r->domain_group_count); cntr_domain_groups_1++) {
    1416          79 :                                 NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->domain_groups[cntr_domain_groups_1]));
    1417             :                         }
    1418         138 :                         for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (r->domain_group_count); cntr_domain_groups_1++) {
    1419          79 :                                 NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->domain_groups[cntr_domain_groups_1]));
    1420             :                         }
    1421             :                 }
    1422             :         }
    1423         360 :         return NDR_ERR_SUCCESS;
    1424             : }
    1425             : 
    1426         138 : static enum ndr_err_code ndr_pull_PAC_DEVICE_INFO(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_DEVICE_INFO *r)
    1427             : {
    1428           0 :         uint32_t _ptr_domain_sid;
    1429         138 :         TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
    1430           0 :         uint32_t _ptr_sids;
    1431         138 :         uint32_t size_sids_1 = 0;
    1432           0 :         uint32_t cntr_sids_1;
    1433         138 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1434         138 :         TALLOC_CTX *_mem_save_sids_1 = NULL;
    1435           0 :         uint32_t _ptr_domain_groups;
    1436         138 :         uint32_t size_domain_groups_1 = 0;
    1437           0 :         uint32_t cntr_domain_groups_1;
    1438         138 :         TALLOC_CTX *_mem_save_domain_groups_0 = NULL;
    1439         138 :         TALLOC_CTX *_mem_save_domain_groups_1 = NULL;
    1440         138 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1441         138 :         if (ndr_flags & NDR_SCALARS) {
    1442         138 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1443         138 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    1444         138 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
    1445         138 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
    1446         138 :                 if (_ptr_domain_sid) {
    1447         138 :                         NDR_PULL_ALLOC(ndr, r->domain_sid);
    1448             :                 } else {
    1449           0 :                         r->domain_sid = NULL;
    1450             :                 }
    1451         138 :                 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
    1452         138 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_count));
    1453         138 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
    1454         138 :                 if (_ptr_sids) {
    1455         134 :                         NDR_PULL_ALLOC(ndr, r->sids);
    1456             :                 } else {
    1457           4 :                         r->sids = NULL;
    1458             :                 }
    1459         138 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->domain_group_count));
    1460         138 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_groups));
    1461         138 :                 if (_ptr_domain_groups) {
    1462         102 :                         NDR_PULL_ALLOC(ndr, r->domain_groups);
    1463             :                 } else {
    1464          36 :                         r->domain_groups = NULL;
    1465             :                 }
    1466         138 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1467             :         }
    1468         138 :         if (ndr_flags & NDR_BUFFERS) {
    1469         138 :                 if (r->domain_sid) {
    1470         138 :                         _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1471         138 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
    1472         138 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
    1473         138 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
    1474             :                 }
    1475         138 :                 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
    1476         138 :                 if (r->sids) {
    1477         134 :                         _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1478         134 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    1479         134 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
    1480         134 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_1));
    1481         134 :                         NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
    1482         134 :                         _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    1483         134 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    1484         334 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1485         200 :                                 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
    1486             :                         }
    1487         334 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1488         200 :                                 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
    1489             :                         }
    1490         134 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
    1491         134 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
    1492             :                 }
    1493         138 :                 if (r->domain_groups) {
    1494         102 :                         _mem_save_domain_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1495         102 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_groups, 0);
    1496         102 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_groups));
    1497         102 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->domain_groups, &size_domain_groups_1));
    1498         102 :                         NDR_PULL_ALLOC_N(ndr, r->domain_groups, size_domain_groups_1);
    1499         102 :                         _mem_save_domain_groups_1 = NDR_PULL_GET_MEM_CTX(ndr);
    1500         102 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_groups, 0);
    1501         242 :                         for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (size_domain_groups_1); cntr_domain_groups_1++) {
    1502         140 :                                 NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->domain_groups[cntr_domain_groups_1]));
    1503             :                         }
    1504         242 :                         for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (size_domain_groups_1); cntr_domain_groups_1++) {
    1505         140 :                                 NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->domain_groups[cntr_domain_groups_1]));
    1506             :                         }
    1507         102 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_groups_1, 0);
    1508         102 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_groups_0, 0);
    1509             :                 }
    1510         138 :                 if (r->sids) {
    1511         134 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sid_count));
    1512             :                 }
    1513         338 :                 for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1514           0 :                 }
    1515         138 :                 if (r->domain_groups) {
    1516         102 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domain_groups, r->domain_group_count));
    1517             :                 }
    1518         278 :                 for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (size_domain_groups_1); cntr_domain_groups_1++) {
    1519           0 :                 }
    1520             :         }
    1521         138 :         return NDR_ERR_SUCCESS;
    1522             : }
    1523             : 
    1524           0 : _PUBLIC_ void ndr_print_PAC_DEVICE_INFO(struct ndr_print *ndr, const char *name, const struct PAC_DEVICE_INFO *r)
    1525             : {
    1526           0 :         uint32_t cntr_sids_1;
    1527           0 :         uint32_t cntr_domain_groups_1;
    1528           0 :         ndr_print_struct(ndr, name, "PAC_DEVICE_INFO");
    1529           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1530           0 :         ndr->depth++;
    1531           0 :         ndr_print_uint32(ndr, "rid", r->rid);
    1532           0 :         ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
    1533           0 :         ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
    1534           0 :         ndr->depth++;
    1535           0 :         if (r->domain_sid) {
    1536           0 :                 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
    1537             :         }
    1538           0 :         ndr->depth--;
    1539           0 :         ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
    1540           0 :         ndr_print_uint32(ndr, "sid_count", r->sid_count);
    1541           0 :         ndr_print_ptr(ndr, "sids", r->sids);
    1542           0 :         ndr->depth++;
    1543           0 :         if (r->sids) {
    1544           0 :                 ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "sids", (uint32_t)(r->sid_count));
    1545           0 :                 ndr->depth++;
    1546           0 :                 for (cntr_sids_1 = 0; cntr_sids_1 < (r->sid_count); cntr_sids_1++) {
    1547           0 :                         ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
    1548             :                 }
    1549           0 :                 ndr->depth--;
    1550             :         }
    1551           0 :         ndr->depth--;
    1552           0 :         ndr_print_uint32(ndr, "domain_group_count", r->domain_group_count);
    1553           0 :         ndr_print_ptr(ndr, "domain_groups", r->domain_groups);
    1554           0 :         ndr->depth++;
    1555           0 :         if (r->domain_groups) {
    1556           0 :                 ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "domain_groups", (uint32_t)(r->domain_group_count));
    1557           0 :                 ndr->depth++;
    1558           0 :                 for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (r->domain_group_count); cntr_domain_groups_1++) {
    1559           0 :                         ndr_print_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, "domain_groups", &r->domain_groups[cntr_domain_groups_1]);
    1560             :                 }
    1561           0 :                 ndr->depth--;
    1562             :         }
    1563           0 :         ndr->depth--;
    1564           0 :         ndr->depth--;
    1565             : }
    1566             : 
    1567         360 : static enum ndr_err_code ndr_push_PAC_DEVICE_INFO_CTR(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_DEVICE_INFO_CTR *r)
    1568             : {
    1569         360 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1570         360 :         if (ndr_flags & NDR_SCALARS) {
    1571         360 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1572         360 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
    1573         360 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1574             :         }
    1575         360 :         if (ndr_flags & NDR_BUFFERS) {
    1576         360 :                 if (r->info) {
    1577         360 :                         NDR_CHECK(ndr_push_PAC_DEVICE_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
    1578             :                 }
    1579             :         }
    1580         360 :         return NDR_ERR_SUCCESS;
    1581             : }
    1582             : 
    1583         138 : static enum ndr_err_code ndr_pull_PAC_DEVICE_INFO_CTR(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_DEVICE_INFO_CTR *r)
    1584             : {
    1585           0 :         uint32_t _ptr_info;
    1586         138 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    1587         138 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1588         138 :         if (ndr_flags & NDR_SCALARS) {
    1589         138 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1590         138 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    1591         138 :                 if (_ptr_info) {
    1592         138 :                         NDR_PULL_ALLOC(ndr, r->info);
    1593             :                 } else {
    1594           0 :                         r->info = NULL;
    1595             :                 }
    1596         138 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1597             :         }
    1598         138 :         if (ndr_flags & NDR_BUFFERS) {
    1599         138 :                 if (r->info) {
    1600         138 :                         _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1601         138 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
    1602         138 :                         NDR_CHECK(ndr_pull_PAC_DEVICE_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
    1603         138 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
    1604             :                 }
    1605             :         }
    1606         138 :         return NDR_ERR_SUCCESS;
    1607             : }
    1608             : 
    1609           0 : _PUBLIC_ void ndr_print_PAC_DEVICE_INFO_CTR(struct ndr_print *ndr, const char *name, const struct PAC_DEVICE_INFO_CTR *r)
    1610             : {
    1611           0 :         ndr_print_struct(ndr, name, "PAC_DEVICE_INFO_CTR");
    1612           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1613           0 :         ndr->depth++;
    1614           0 :         ndr_print_ptr(ndr, "info", r->info);
    1615           0 :         ndr->depth++;
    1616           0 :         if (r->info) {
    1617           0 :                 ndr_print_PAC_DEVICE_INFO(ndr, "info", r->info);
    1618             :         }
    1619           0 :         ndr->depth--;
    1620           0 :         ndr->depth--;
    1621             : }
    1622             : 
    1623      147409 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_TYPE(struct ndr_push *ndr, ndr_flags_type ndr_flags, enum PAC_TYPE r)
    1624             : {
    1625      147409 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    1626      147256 :         return NDR_ERR_SUCCESS;
    1627             : }
    1628             : 
    1629      252442 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_TYPE(struct ndr_pull *ndr, ndr_flags_type ndr_flags, enum PAC_TYPE *r)
    1630             : {
    1631         275 :         uint32_t v;
    1632      252442 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    1633      252442 :         *r = v;
    1634      252442 :         return NDR_ERR_SUCCESS;
    1635             : }
    1636             : 
    1637         139 : _PUBLIC_ void ndr_print_PAC_TYPE(struct ndr_print *ndr, const char *name, enum PAC_TYPE r)
    1638             : {
    1639         139 :         const char *val = NULL;
    1640             : 
    1641         139 :         switch (r) {
    1642          25 :                 case PAC_TYPE_LOGON_INFO: val = "PAC_TYPE_LOGON_INFO"; break;
    1643           8 :                 case PAC_TYPE_CREDENTIAL_INFO: val = "PAC_TYPE_CREDENTIAL_INFO"; break;
    1644          25 :                 case PAC_TYPE_SRV_CHECKSUM: val = "PAC_TYPE_SRV_CHECKSUM"; break;
    1645          25 :                 case PAC_TYPE_KDC_CHECKSUM: val = "PAC_TYPE_KDC_CHECKSUM"; break;
    1646          25 :                 case PAC_TYPE_LOGON_NAME: val = "PAC_TYPE_LOGON_NAME"; break;
    1647           0 :                 case PAC_TYPE_CONSTRAINED_DELEGATION: val = "PAC_TYPE_CONSTRAINED_DELEGATION"; break;
    1648          25 :                 case PAC_TYPE_UPN_DNS_INFO: val = "PAC_TYPE_UPN_DNS_INFO"; break;
    1649           0 :                 case PAC_TYPE_CLIENT_CLAIMS_INFO: val = "PAC_TYPE_CLIENT_CLAIMS_INFO"; break;
    1650           0 :                 case PAC_TYPE_DEVICE_INFO: val = "PAC_TYPE_DEVICE_INFO"; break;
    1651           0 :                 case PAC_TYPE_DEVICE_CLAIMS_INFO: val = "PAC_TYPE_DEVICE_CLAIMS_INFO"; break;
    1652           4 :                 case PAC_TYPE_TICKET_CHECKSUM: val = "PAC_TYPE_TICKET_CHECKSUM"; break;
    1653           0 :                 case PAC_TYPE_ATTRIBUTES_INFO: val = "PAC_TYPE_ATTRIBUTES_INFO"; break;
    1654           0 :                 case PAC_TYPE_REQUESTER_SID: val = "PAC_TYPE_REQUESTER_SID"; break;
    1655           0 :                 case PAC_TYPE_FULL_CHECKSUM: val = "PAC_TYPE_FULL_CHECKSUM"; break;
    1656             :         }
    1657         139 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    1658         139 : }
    1659             : 
    1660      131139 : static enum ndr_err_code ndr_push_DATA_BLOB_REM(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct DATA_BLOB_REM *r)
    1661             : {
    1662      131139 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1663      131139 :         if (ndr_flags & NDR_SCALARS) {
    1664      131139 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    1665             :                 {
    1666      131139 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1667      131139 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1668      131139 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining));
    1669      131139 :                         ndr->flags = _flags_save_DATA_BLOB;
    1670             :                 }
    1671      131139 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1672             :         }
    1673      131139 :         if (ndr_flags & NDR_BUFFERS) {
    1674          82 :         }
    1675      131139 :         return NDR_ERR_SUCCESS;
    1676             : }
    1677             : 
    1678      109520 : static enum ndr_err_code ndr_pull_DATA_BLOB_REM(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct DATA_BLOB_REM *r)
    1679             : {
    1680      109520 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1681      109520 :         if (ndr_flags & NDR_SCALARS) {
    1682      109520 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    1683             :                 {
    1684      109520 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1685      109520 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1686      109520 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining));
    1687      109520 :                         ndr->flags = _flags_save_DATA_BLOB;
    1688             :                 }
    1689      109520 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1690             :         }
    1691      109520 :         if (ndr_flags & NDR_BUFFERS) {
    1692          99 :         }
    1693      109520 :         return NDR_ERR_SUCCESS;
    1694             : }
    1695             : 
    1696          54 : _PUBLIC_ void ndr_print_DATA_BLOB_REM(struct ndr_print *ndr, const char *name, const struct DATA_BLOB_REM *r)
    1697             : {
    1698          54 :         ndr_print_struct(ndr, name, "DATA_BLOB_REM");
    1699          54 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1700          54 :         ndr->depth++;
    1701             :         {
    1702          54 :                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1703          54 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1704          54 :                 ndr_print_DATA_BLOB(ndr, "remaining", r->remaining);
    1705          54 :                 ndr->flags = _flags_save_DATA_BLOB;
    1706             :         }
    1707          54 :         ndr->depth--;
    1708             : }
    1709             : 
    1710      238988 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_INFO(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union PAC_INFO *r)
    1711             : {
    1712        6548 :         uint32_t level;
    1713      238988 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1714      238988 :         if (ndr_flags & NDR_SCALARS) {
    1715             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1716      238988 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1717      238988 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1718      238988 :                 switch (level) {
    1719       86640 :                         case PAC_TYPE_LOGON_INFO: {
    1720             :                                 {
    1721        2870 :                                         struct ndr_push *_ndr_logon_info;
    1722       86640 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
    1723       86640 :                                         NDR_CHECK(ndr_push_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
    1724       86640 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
    1725             :                                 }
    1726       86640 :                         break; }
    1727             : 
    1728          12 :                         case PAC_TYPE_CREDENTIAL_INFO: {
    1729          12 :                                 NDR_CHECK(ndr_push_PAC_CREDENTIAL_INFO(ndr, NDR_SCALARS, &r->credential_info));
    1730           0 :                         break; }
    1731             : 
    1732        9816 :                         case PAC_TYPE_SRV_CHECKSUM: {
    1733        9816 :                                 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
    1734        9774 :                         break; }
    1735             : 
    1736        9795 :                         case PAC_TYPE_KDC_CHECKSUM: {
    1737        9795 :                                 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
    1738        9753 :                         break; }
    1739             : 
    1740        9846 :                         case PAC_TYPE_LOGON_NAME: {
    1741        9846 :                                 NDR_CHECK(ndr_push_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
    1742        9804 :                         break; }
    1743             : 
    1744         188 :                         case PAC_TYPE_CONSTRAINED_DELEGATION: {
    1745             :                                 {
    1746           0 :                                         struct ndr_push *_ndr_constrained_delegation;
    1747         188 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_constrained_delegation, 0xFFFFFC01, -1));
    1748         188 :                                         NDR_CHECK(ndr_push_PAC_CONSTRAINED_DELEGATION_CTR(_ndr_constrained_delegation, NDR_SCALARS|NDR_BUFFERS, &r->constrained_delegation));
    1749         188 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_constrained_delegation, 0xFFFFFC01, -1));
    1750             :                                 }
    1751         188 :                         break; }
    1752             : 
    1753       39707 :                         case PAC_TYPE_UPN_DNS_INFO: {
    1754       39707 :                                 NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO(ndr, NDR_SCALARS, &r->upn_dns_info));
    1755       38513 :                         break; }
    1756             : 
    1757        1740 :                         case PAC_TYPE_TICKET_CHECKSUM: {
    1758        1740 :                                 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->ticket_checksum));
    1759        1734 :                         break; }
    1760             : 
    1761       34514 :                         case PAC_TYPE_ATTRIBUTES_INFO: {
    1762       34514 :                                 NDR_CHECK(ndr_push_PAC_ATTRIBUTES_INFO(ndr, NDR_SCALARS, &r->attributes_info));
    1763       33344 :                         break; }
    1764             : 
    1765       34508 :                         case PAC_TYPE_REQUESTER_SID: {
    1766       34508 :                                 NDR_CHECK(ndr_push_PAC_REQUESTER_SID(ndr, NDR_SCALARS, &r->requester_sid));
    1767       33338 :                         break; }
    1768             : 
    1769        9702 :                         case PAC_TYPE_CLIENT_CLAIMS_INFO: {
    1770             :                                 {
    1771           0 :                                         struct ndr_push *_ndr_client_claims_info;
    1772        9702 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_client_claims_info, 0, -1));
    1773        9702 :                                         NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_client_claims_info, NDR_SCALARS, &r->client_claims_info));
    1774        9702 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_client_claims_info, 0, -1));
    1775             :                                 }
    1776        9702 :                         break; }
    1777             : 
    1778         360 :                         case PAC_TYPE_DEVICE_INFO: {
    1779             :                                 {
    1780           0 :                                         struct ndr_push *_ndr_device_info;
    1781         360 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_device_info, 0xFFFFFC01, -1));
    1782         360 :                                         NDR_CHECK(ndr_push_PAC_DEVICE_INFO_CTR(_ndr_device_info, NDR_SCALARS|NDR_BUFFERS, &r->device_info));
    1783         360 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_device_info, 0xFFFFFC01, -1));
    1784             :                                 }
    1785         360 :                         break; }
    1786             : 
    1787         288 :                         case PAC_TYPE_DEVICE_CLAIMS_INFO: {
    1788             :                                 {
    1789           0 :                                         struct ndr_push *_ndr_device_claims_info;
    1790         288 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_device_claims_info, 0, -1));
    1791         288 :                                         NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_device_claims_info, NDR_SCALARS, &r->device_claims_info));
    1792         288 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_device_claims_info, 0, -1));
    1793             :                                 }
    1794         288 :                         break; }
    1795             : 
    1796        1800 :                         case PAC_TYPE_FULL_CHECKSUM: {
    1797        1800 :                                 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->full_checksum));
    1798        1800 :                         break; }
    1799             : 
    1800          72 :                         default: {
    1801             :                                 {
    1802           0 :                                         struct ndr_push *_ndr_unknown;
    1803          72 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_unknown, 0, -1));
    1804          72 :                                         NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
    1805          72 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_unknown, 0, -1));
    1806             :                                 }
    1807          72 :                         break; }
    1808             : 
    1809             :                 }
    1810             :         }
    1811      238988 :         if (ndr_flags & NDR_BUFFERS) {
    1812      238988 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1813             :                         /* We didn't get it above, and the token is not needed after this. */
    1814           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1815             :                 }
    1816      238988 :                 switch (level) {
    1817       83770 :                         case PAC_TYPE_LOGON_INFO:
    1818       83770 :                         break;
    1819             : 
    1820           0 :                         case PAC_TYPE_CREDENTIAL_INFO:
    1821           0 :                         break;
    1822             : 
    1823        9774 :                         case PAC_TYPE_SRV_CHECKSUM:
    1824        9774 :                         break;
    1825             : 
    1826        9753 :                         case PAC_TYPE_KDC_CHECKSUM:
    1827        9753 :                         break;
    1828             : 
    1829        9804 :                         case PAC_TYPE_LOGON_NAME:
    1830        9804 :                         break;
    1831             : 
    1832         188 :                         case PAC_TYPE_CONSTRAINED_DELEGATION:
    1833         188 :                         break;
    1834             : 
    1835       39707 :                         case PAC_TYPE_UPN_DNS_INFO:
    1836       39707 :                                 NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO(ndr, NDR_BUFFERS, &r->upn_dns_info));
    1837       38513 :                         break;
    1838             : 
    1839        1734 :                         case PAC_TYPE_TICKET_CHECKSUM:
    1840        1734 :                         break;
    1841             : 
    1842       33344 :                         case PAC_TYPE_ATTRIBUTES_INFO:
    1843       33344 :                         break;
    1844             : 
    1845       33338 :                         case PAC_TYPE_REQUESTER_SID:
    1846       33338 :                         break;
    1847             : 
    1848        9702 :                         case PAC_TYPE_CLIENT_CLAIMS_INFO:
    1849        9702 :                         break;
    1850             : 
    1851         360 :                         case PAC_TYPE_DEVICE_INFO:
    1852         360 :                         break;
    1853             : 
    1854         288 :                         case PAC_TYPE_DEVICE_CLAIMS_INFO:
    1855         288 :                         break;
    1856             : 
    1857        1800 :                         case PAC_TYPE_FULL_CHECKSUM:
    1858        1800 :                         break;
    1859             : 
    1860          72 :                         default:
    1861          72 :                         break;
    1862             : 
    1863             :                 }
    1864             :         }
    1865      232440 :         return NDR_ERR_SUCCESS;
    1866             : }
    1867             : 
    1868      393995 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_INFO(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union PAC_INFO *r)
    1869             : {
    1870        7544 :         uint32_t level;
    1871      393995 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1872      393995 :         if (ndr_flags & NDR_SCALARS) {
    1873             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1874      393995 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1875      393995 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1876      393995 :                 switch (level) {
    1877      102473 :                         case PAC_TYPE_LOGON_INFO: {
    1878             :                                 {
    1879        2572 :                                         struct ndr_pull *_ndr_logon_info;
    1880      102473 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
    1881      102473 :                                         NDR_CHECK(ndr_pull_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
    1882      102473 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
    1883             :                                 }
    1884      102473 :                         break; }
    1885             : 
    1886          62 :                         case PAC_TYPE_CREDENTIAL_INFO: {
    1887          62 :                                 NDR_CHECK(ndr_pull_PAC_CREDENTIAL_INFO(ndr, NDR_SCALARS, &r->credential_info));
    1888          58 :                         break; }
    1889             : 
    1890       22015 :                         case PAC_TYPE_SRV_CHECKSUM: {
    1891       22015 :                                 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
    1892       21984 :                         break; }
    1893             : 
    1894       22015 :                         case PAC_TYPE_KDC_CHECKSUM: {
    1895       22015 :                                 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
    1896       21984 :                         break; }
    1897             : 
    1898       22015 :                         case PAC_TYPE_LOGON_NAME: {
    1899       22015 :                                 NDR_CHECK(ndr_pull_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
    1900       21984 :                         break; }
    1901             : 
    1902         295 :                         case PAC_TYPE_CONSTRAINED_DELEGATION: {
    1903             :                                 {
    1904           0 :                                         struct ndr_pull *_ndr_constrained_delegation;
    1905         295 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_constrained_delegation, 0xFFFFFC01, -1));
    1906         295 :                                         NDR_CHECK(ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR(_ndr_constrained_delegation, NDR_SCALARS|NDR_BUFFERS, &r->constrained_delegation));
    1907         295 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_constrained_delegation, 0xFFFFFC01, -1));
    1908             :                                 }
    1909         295 :                         break; }
    1910             : 
    1911      101911 :                         case PAC_TYPE_UPN_DNS_INFO: {
    1912      101911 :                                 NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO(ndr, NDR_SCALARS, &r->upn_dns_info));
    1913       99348 :                         break; }
    1914             : 
    1915       11651 :                         case PAC_TYPE_TICKET_CHECKSUM: {
    1916       11651 :                                 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->ticket_checksum));
    1917       11647 :                         break; }
    1918             : 
    1919       24701 :                         case PAC_TYPE_ATTRIBUTES_INFO: {
    1920       24701 :                                 NDR_CHECK(ndr_pull_PAC_ATTRIBUTES_INFO(ndr, NDR_SCALARS, &r->attributes_info));
    1921       24069 :                         break; }
    1922             : 
    1923       53438 :                         case PAC_TYPE_REQUESTER_SID: {
    1924       53438 :                                 NDR_CHECK(ndr_pull_PAC_REQUESTER_SID(ndr, NDR_SCALARS, &r->requester_sid));
    1925       51771 :                         break; }
    1926             : 
    1927       21485 :                         case PAC_TYPE_CLIENT_CLAIMS_INFO: {
    1928             :                                 {
    1929           9 :                                         struct ndr_pull *_ndr_client_claims_info;
    1930       21485 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_client_claims_info, 0, -1));
    1931       21485 :                                         NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_client_claims_info, NDR_SCALARS, &r->client_claims_info));
    1932       21485 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_client_claims_info, 0, -1));
    1933             :                                 }
    1934       21485 :                         break; }
    1935             : 
    1936         138 :                         case PAC_TYPE_DEVICE_INFO: {
    1937             :                                 {
    1938           0 :                                         struct ndr_pull *_ndr_device_info;
    1939         138 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_device_info, 0xFFFFFC01, -1));
    1940         138 :                                         NDR_CHECK(ndr_pull_PAC_DEVICE_INFO_CTR(_ndr_device_info, NDR_SCALARS|NDR_BUFFERS, &r->device_info));
    1941         138 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_device_info, 0xFFFFFC01, -1));
    1942             :                                 }
    1943         138 :                         break; }
    1944             : 
    1945         134 :                         case PAC_TYPE_DEVICE_CLAIMS_INFO: {
    1946             :                                 {
    1947           0 :                                         struct ndr_pull *_ndr_device_claims_info;
    1948         134 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_device_claims_info, 0, -1));
    1949         134 :                                         NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_device_claims_info, NDR_SCALARS, &r->device_claims_info));
    1950         134 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_device_claims_info, 0, -1));
    1951             :                                 }
    1952         134 :                         break; }
    1953             : 
    1954       11647 :                         case PAC_TYPE_FULL_CHECKSUM: {
    1955       11647 :                                 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->full_checksum));
    1956       11647 :                         break; }
    1957             : 
    1958          15 :                         default: {
    1959             :                                 {
    1960           0 :                                         struct ndr_pull *_ndr_unknown;
    1961          15 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_unknown, 0, -1));
    1962          15 :                                         NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
    1963          15 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_unknown, 0, -1));
    1964             :                                 }
    1965          15 :                         break; }
    1966             : 
    1967             :                 }
    1968             :         }
    1969      393995 :         if (ndr_flags & NDR_BUFFERS) {
    1970      393995 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1971             :                         /* We didn't get it above, and the token is not needed after this. */
    1972           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1973             :                 }
    1974      393995 :                 switch (level) {
    1975       99901 :                         case PAC_TYPE_LOGON_INFO:
    1976       99901 :                         break;
    1977             : 
    1978          58 :                         case PAC_TYPE_CREDENTIAL_INFO:
    1979          58 :                         break;
    1980             : 
    1981       21984 :                         case PAC_TYPE_SRV_CHECKSUM:
    1982       21984 :                         break;
    1983             : 
    1984       21984 :                         case PAC_TYPE_KDC_CHECKSUM:
    1985       21984 :                         break;
    1986             : 
    1987       21984 :                         case PAC_TYPE_LOGON_NAME:
    1988       21984 :                         break;
    1989             : 
    1990         295 :                         case PAC_TYPE_CONSTRAINED_DELEGATION:
    1991         295 :                         break;
    1992             : 
    1993      101911 :                         case PAC_TYPE_UPN_DNS_INFO:
    1994      101911 :                                 NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO(ndr, NDR_BUFFERS, &r->upn_dns_info));
    1995       99348 :                         break;
    1996             : 
    1997       11647 :                         case PAC_TYPE_TICKET_CHECKSUM:
    1998       11647 :                         break;
    1999             : 
    2000       24069 :                         case PAC_TYPE_ATTRIBUTES_INFO:
    2001       24069 :                         break;
    2002             : 
    2003       51771 :                         case PAC_TYPE_REQUESTER_SID:
    2004       51771 :                         break;
    2005             : 
    2006       21476 :                         case PAC_TYPE_CLIENT_CLAIMS_INFO:
    2007       21476 :                         break;
    2008             : 
    2009         138 :                         case PAC_TYPE_DEVICE_INFO:
    2010         138 :                         break;
    2011             : 
    2012         134 :                         case PAC_TYPE_DEVICE_CLAIMS_INFO:
    2013         134 :                         break;
    2014             : 
    2015       11647 :                         case PAC_TYPE_FULL_CHECKSUM:
    2016       11647 :                         break;
    2017             : 
    2018          15 :                         default:
    2019          15 :                         break;
    2020             : 
    2021             :                 }
    2022             :         }
    2023      386451 :         return NDR_ERR_SUCCESS;
    2024             : }
    2025             : 
    2026          83 : _PUBLIC_ void ndr_print_PAC_INFO(struct ndr_print *ndr, const char *name, const union PAC_INFO *r)
    2027             : {
    2028          83 :         uint32_t level;
    2029          83 :         level = ndr_print_steal_switch_value(ndr, r);
    2030          83 :         ndr_print_union(ndr, name, level, "PAC_INFO");
    2031          83 :         switch (level) {
    2032          15 :                 case PAC_TYPE_LOGON_INFO:
    2033          15 :                         ndr_print_PAC_LOGON_INFO_CTR(ndr, "logon_info", &r->logon_info);
    2034          15 :                 break;
    2035             : 
    2036           4 :                 case PAC_TYPE_CREDENTIAL_INFO:
    2037           4 :                         ndr_print_PAC_CREDENTIAL_INFO(ndr, "credential_info", &r->credential_info);
    2038           4 :                 break;
    2039             : 
    2040          15 :                 case PAC_TYPE_SRV_CHECKSUM:
    2041          15 :                         ndr_print_PAC_SIGNATURE_DATA(ndr, "srv_cksum", &r->srv_cksum);
    2042          15 :                 break;
    2043             : 
    2044          15 :                 case PAC_TYPE_KDC_CHECKSUM:
    2045          15 :                         ndr_print_PAC_SIGNATURE_DATA(ndr, "kdc_cksum", &r->kdc_cksum);
    2046          15 :                 break;
    2047             : 
    2048          15 :                 case PAC_TYPE_LOGON_NAME:
    2049          15 :                         ndr_print_PAC_LOGON_NAME(ndr, "logon_name", &r->logon_name);
    2050          15 :                 break;
    2051             : 
    2052           0 :                 case PAC_TYPE_CONSTRAINED_DELEGATION:
    2053           0 :                         ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(ndr, "constrained_delegation", &r->constrained_delegation);
    2054           0 :                 break;
    2055             : 
    2056          15 :                 case PAC_TYPE_UPN_DNS_INFO:
    2057          15 :                         ndr_print_PAC_UPN_DNS_INFO(ndr, "upn_dns_info", &r->upn_dns_info);
    2058          15 :                 break;
    2059             : 
    2060           4 :                 case PAC_TYPE_TICKET_CHECKSUM:
    2061           4 :                         ndr_print_PAC_SIGNATURE_DATA(ndr, "ticket_checksum", &r->ticket_checksum);
    2062           4 :                 break;
    2063             : 
    2064           0 :                 case PAC_TYPE_ATTRIBUTES_INFO:
    2065           0 :                         ndr_print_PAC_ATTRIBUTES_INFO(ndr, "attributes_info", &r->attributes_info);
    2066           0 :                 break;
    2067             : 
    2068           0 :                 case PAC_TYPE_REQUESTER_SID:
    2069           0 :                         ndr_print_PAC_REQUESTER_SID(ndr, "requester_sid", &r->requester_sid);
    2070           0 :                 break;
    2071             : 
    2072           0 :                 case PAC_TYPE_CLIENT_CLAIMS_INFO:
    2073           0 :                         ndr_print_DATA_BLOB_REM(ndr, "client_claims_info", &r->client_claims_info);
    2074           0 :                 break;
    2075             : 
    2076           0 :                 case PAC_TYPE_DEVICE_INFO:
    2077           0 :                         ndr_print_PAC_DEVICE_INFO_CTR(ndr, "device_info", &r->device_info);
    2078           0 :                 break;
    2079             : 
    2080           0 :                 case PAC_TYPE_DEVICE_CLAIMS_INFO:
    2081           0 :                         ndr_print_DATA_BLOB_REM(ndr, "device_claims_info", &r->device_claims_info);
    2082           0 :                 break;
    2083             : 
    2084           0 :                 case PAC_TYPE_FULL_CHECKSUM:
    2085           0 :                         ndr_print_PAC_SIGNATURE_DATA(ndr, "full_checksum", &r->full_checksum);
    2086           0 :                 break;
    2087             : 
    2088           0 :                 default:
    2089           0 :                         ndr_print_DATA_BLOB_REM(ndr, "unknown", &r->unknown);
    2090           0 :                 break;
    2091             : 
    2092             :         }
    2093          83 : }
    2094             : 
    2095       52663 : _PUBLIC_ size_t ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, libndr_flags flags)
    2096             : {
    2097       52663 :         return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_PAC_INFO);
    2098             : }
    2099             : 
    2100           2 : static void ndr_print_flags_PAC_BUFFER(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_BUFFER *r)
    2101             : {
    2102           2 :         ndr_print_PAC_BUFFER(ndr, name, r);
    2103           2 : }
    2104             : 
    2105          85 : _PUBLIC_ void ndr_print_PAC_BUFFER(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER *r)
    2106             : {
    2107          85 :         ndr_print_struct(ndr, name, "PAC_BUFFER");
    2108          85 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2109          85 :         ndr->depth++;
    2110          85 :         ndr_print_PAC_TYPE(ndr, "type", r->type);
    2111          85 :         ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_PAC_INFO(r->info, r->type, LIBNDR_FLAG_ALIGN8):r->_ndr_size);
    2112             :         {
    2113          85 :                 libndr_flags _flags_save_PAC_INFO = ndr->flags;
    2114          85 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
    2115          85 :                 ndr_print_ptr(ndr, "info", r->info);
    2116          85 :                 ndr->depth++;
    2117          85 :                 if (r->info) {
    2118          83 :                         ndr_print_set_switch_value(ndr, r->info, r->type);
    2119          83 :                         ndr_print_PAC_INFO(ndr, "info", r->info);
    2120             :                 }
    2121          85 :                 ndr->depth--;
    2122          85 :                 ndr->flags = _flags_save_PAC_INFO;
    2123             :         }
    2124          85 :         ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
    2125          85 :         ndr->depth--;
    2126             : }
    2127             : 
    2128        3282 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_DATA *r)
    2129             : {
    2130          14 :         uint32_t cntr_buffers_0;
    2131        3282 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2132        3282 :         if (ndr_flags & NDR_SCALARS) {
    2133        3282 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2134        3282 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
    2135        3282 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
    2136       29613 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
    2137       26331 :                         NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
    2138             :                 }
    2139        3282 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2140             :         }
    2141        3282 :         if (ndr_flags & NDR_BUFFERS) {
    2142       29613 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
    2143       26331 :                         NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
    2144             :                 }
    2145             :         }
    2146        3268 :         return NDR_ERR_SUCCESS;
    2147             : }
    2148             : 
    2149       22015 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_DATA *r)
    2150             : {
    2151       22015 :         uint32_t size_buffers_0 = 0;
    2152          31 :         uint32_t cntr_buffers_0;
    2153       22015 :         TALLOC_CTX *_mem_save_buffers_0 = NULL;
    2154       22015 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2155       22015 :         if (ndr_flags & NDR_SCALARS) {
    2156       22015 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2157       22015 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
    2158       22015 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
    2159       22015 :                 size_buffers_0 = r->num_buffers;
    2160       22015 :                 NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
    2161       22015 :                 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2162       22015 :                 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
    2163      186569 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
    2164      164554 :                         NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
    2165             :                 }
    2166       22015 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
    2167       22015 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2168             :         }
    2169       22015 :         if (ndr_flags & NDR_BUFFERS) {
    2170       22015 :                 size_buffers_0 = r->num_buffers;
    2171       22015 :                 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2172       22015 :                 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
    2173      186569 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
    2174      164554 :                         NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
    2175             :                 }
    2176       22015 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
    2177      186386 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
    2178             :                 }
    2179             :         }
    2180       21984 :         return NDR_ERR_SUCCESS;
    2181             : }
    2182             : 
    2183           5 : static void ndr_print_flags_PAC_DATA(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_DATA *r)
    2184             : {
    2185           5 :         ndr_print_PAC_DATA(ndr, name, r);
    2186           5 : }
    2187             : 
    2188          15 : _PUBLIC_ void ndr_print_PAC_DATA(struct ndr_print *ndr, const char *name, const struct PAC_DATA *r)
    2189             : {
    2190          15 :         uint32_t cntr_buffers_0;
    2191          15 :         ndr_print_struct(ndr, name, "PAC_DATA");
    2192          15 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2193          15 :         ndr->depth++;
    2194          15 :         ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
    2195          15 :         ndr_print_uint32(ndr, "version", r->version);
    2196          15 :         ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "buffers", (uint32_t)(r->num_buffers));
    2197          15 :         ndr->depth++;
    2198          98 :         for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
    2199          83 :                 ndr_print_PAC_BUFFER(ndr, "buffers", &r->buffers[cntr_buffers_0]);
    2200             :         }
    2201          15 :         ndr->depth--;
    2202          15 :         ndr->depth--;
    2203             : }
    2204             : 
    2205      242154 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_BUFFER_RAW *r)
    2206             : {
    2207      242154 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2208      242154 :         if (ndr_flags & NDR_SCALARS) {
    2209      121077 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2210      121077 :                 NDR_CHECK(ndr_push_PAC_TYPE(ndr, NDR_SCALARS, r->type));
    2211      121077 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ndr_size));
    2212             :                 {
    2213      121077 :                         libndr_flags _flags_save_DATA_BLOB_REM = ndr->flags;
    2214      121077 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
    2215      121077 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->info));
    2216      121077 :                         ndr->flags = _flags_save_DATA_BLOB_REM;
    2217             :                 }
    2218      121077 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    2219      121077 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2220             :         }
    2221      242154 :         if (ndr_flags & NDR_BUFFERS) {
    2222             :                 {
    2223      121077 :                         libndr_flags _flags_save_DATA_BLOB_REM = ndr->flags;
    2224      121077 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
    2225      121077 :                         if (r->info) {
    2226      121077 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->info));
    2227             :                                 {
    2228          82 :                                         struct ndr_push *_ndr_info;
    2229      121077 :                                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
    2230      121077 :                                         NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
    2231      121077 :                                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
    2232             :                                 }
    2233      121077 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info));
    2234             :                         }
    2235      121077 :                         ndr->flags = _flags_save_DATA_BLOB_REM;
    2236             :                 }
    2237             :         }
    2238      241990 :         return NDR_ERR_SUCCESS;
    2239             : }
    2240             : 
    2241      175772 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_BUFFER_RAW(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_BUFFER_RAW *r)
    2242             : {
    2243         180 :         uint32_t _ptr_info;
    2244      175772 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    2245      175772 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2246      175772 :         if (ndr_flags & NDR_SCALARS) {
    2247       87886 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2248       87886 :                 NDR_CHECK(ndr_pull_PAC_TYPE(ndr, NDR_SCALARS, &r->type));
    2249       87886 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ndr_size));
    2250             :                 {
    2251       87886 :                         libndr_flags _flags_save_DATA_BLOB_REM = ndr->flags;
    2252       87886 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
    2253       87886 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    2254       87886 :                         if (_ptr_info) {
    2255       87886 :                                 NDR_PULL_ALLOC(ndr, r->info);
    2256       87886 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->info, _ptr_info));
    2257             :                         } else {
    2258           0 :                                 r->info = NULL;
    2259             :                         }
    2260       87886 :                         ndr->flags = _flags_save_DATA_BLOB_REM;
    2261             :                 }
    2262       87886 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
    2263       87886 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2264             :         }
    2265      175772 :         if (ndr_flags & NDR_BUFFERS) {
    2266             :                 {
    2267       87886 :                         libndr_flags _flags_save_DATA_BLOB_REM = ndr->flags;
    2268       87886 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
    2269       87886 :                         if (r->info) {
    2270          90 :                                 uint32_t _relative_save_offset;
    2271       87886 :                                 _relative_save_offset = ndr->offset;
    2272       87886 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->info));
    2273       87886 :                                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2274       87886 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
    2275             :                                 {
    2276          90 :                                         struct ndr_pull *_ndr_info;
    2277       87886 :                                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
    2278       87886 :                                         NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
    2279       87886 :                                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
    2280             :                                 }
    2281       87886 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
    2282       87886 :                                 if (ndr->offset > ndr->relative_highest_offset) {
    2283       76848 :                                         ndr->relative_highest_offset = ndr->offset;
    2284             :                                 }
    2285       87886 :                                 ndr->offset = _relative_save_offset;
    2286             :                         }
    2287       87886 :                         ndr->flags = _flags_save_DATA_BLOB_REM;
    2288             :                 }
    2289             :         }
    2290      175592 :         return NDR_ERR_SUCCESS;
    2291             : }
    2292             : 
    2293           0 : static void ndr_print_flags_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_BUFFER_RAW *r)
    2294             : {
    2295           0 :         ndr_print_PAC_BUFFER_RAW(ndr, name, r);
    2296           0 : }
    2297             : 
    2298          54 : _PUBLIC_ void ndr_print_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER_RAW *r)
    2299             : {
    2300          54 :         ndr_print_struct(ndr, name, "PAC_BUFFER_RAW");
    2301          54 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2302          54 :         ndr->depth++;
    2303          54 :         ndr_print_PAC_TYPE(ndr, "type", r->type);
    2304          54 :         ndr_print_uint32(ndr, "ndr_size", r->ndr_size);
    2305             :         {
    2306          54 :                 libndr_flags _flags_save_DATA_BLOB_REM = ndr->flags;
    2307          54 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
    2308          54 :                 ndr_print_ptr(ndr, "info", r->info);
    2309          54 :                 ndr->depth++;
    2310          54 :                 if (r->info) {
    2311          54 :                         ndr_print_DATA_BLOB_REM(ndr, "info", r->info);
    2312             :                 }
    2313          54 :                 ndr->depth--;
    2314          54 :                 ndr->flags = _flags_save_DATA_BLOB_REM;
    2315             :         }
    2316          54 :         ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
    2317          54 :         ndr->depth--;
    2318             : }
    2319             : 
    2320       15950 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA_RAW(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_DATA_RAW *r)
    2321             : {
    2322          17 :         uint32_t cntr_buffers_0;
    2323       15950 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2324       15950 :         if (ndr_flags & NDR_SCALARS) {
    2325       15950 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2326       15950 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
    2327       15950 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
    2328      137027 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
    2329      121077 :                         NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
    2330             :                 }
    2331       15950 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2332             :         }
    2333       15950 :         if (ndr_flags & NDR_BUFFERS) {
    2334      137027 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
    2335      121077 :                         NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
    2336             :                 }
    2337             :         }
    2338       15933 :         return NDR_ERR_SUCCESS;
    2339             : }
    2340             : 
    2341       11832 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA_RAW(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_DATA_RAW *r)
    2342             : {
    2343       11832 :         uint32_t size_buffers_0 = 0;
    2344          18 :         uint32_t cntr_buffers_0;
    2345       11832 :         TALLOC_CTX *_mem_save_buffers_0 = NULL;
    2346       11832 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2347       11832 :         if (ndr_flags & NDR_SCALARS) {
    2348       11832 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2349       11832 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
    2350       11832 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
    2351       11832 :                 size_buffers_0 = r->num_buffers;
    2352       11832 :                 NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
    2353       11832 :                 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2354       11832 :                 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
    2355       99718 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
    2356       87886 :                         NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
    2357             :                 }
    2358       11832 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
    2359       11832 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2360             :         }
    2361       11832 :         if (ndr_flags & NDR_BUFFERS) {
    2362       11832 :                 size_buffers_0 = r->num_buffers;
    2363       11832 :                 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2364       11832 :                 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
    2365       99718 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
    2366       87886 :                         NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
    2367             :                 }
    2368       11832 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
    2369       99628 :                 for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
    2370             :                 }
    2371             :         }
    2372       11814 :         return NDR_ERR_SUCCESS;
    2373             : }
    2374             : 
    2375           0 : static void ndr_print_flags_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_DATA_RAW *r)
    2376             : {
    2377           0 :         ndr_print_PAC_DATA_RAW(ndr, name, r);
    2378           0 : }
    2379             : 
    2380          10 : _PUBLIC_ void ndr_print_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, const struct PAC_DATA_RAW *r)
    2381             : {
    2382          10 :         uint32_t cntr_buffers_0;
    2383          10 :         ndr_print_struct(ndr, name, "PAC_DATA_RAW");
    2384          10 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2385          10 :         ndr->depth++;
    2386          10 :         ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
    2387          10 :         ndr_print_uint32(ndr, "version", r->version);
    2388          10 :         ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "buffers", (uint32_t)(r->num_buffers));
    2389          10 :         ndr->depth++;
    2390          64 :         for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
    2391          54 :                 ndr_print_PAC_BUFFER_RAW(ndr, "buffers", &r->buffers[cntr_buffers_0]);
    2392             :         }
    2393          10 :         ndr->depth--;
    2394          10 :         ndr->depth--;
    2395             : }
    2396             : 
    2397         150 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_Validate(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PAC_Validate *r)
    2398             : {
    2399         150 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2400         150 :         if (ndr_flags & NDR_SCALARS) {
    2401         150 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2402         150 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, NETLOGON_GENERIC_KRB5_PAC_VALIDATE));
    2403         150 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ChecksumLength));
    2404         150 :                 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->SignatureType));
    2405         150 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SignatureLength));
    2406             :                 {
    2407         150 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    2408         150 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    2409         150 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->ChecksumAndSignature));
    2410         150 :                         ndr->flags = _flags_save_DATA_BLOB;
    2411             :                 }
    2412         150 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2413             :         }
    2414         150 :         if (ndr_flags & NDR_BUFFERS) {
    2415           0 :         }
    2416         150 :         return NDR_ERR_SUCCESS;
    2417             : }
    2418             : 
    2419         250 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_Validate(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PAC_Validate *r)
    2420             : {
    2421         250 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2422         250 :         if (ndr_flags & NDR_SCALARS) {
    2423         250 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2424         250 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MessageType));
    2425         250 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ChecksumLength));
    2426         250 :                 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->SignatureType));
    2427         250 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SignatureLength));
    2428             :                 {
    2429         250 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    2430         250 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    2431         250 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->ChecksumAndSignature));
    2432         250 :                         ndr->flags = _flags_save_DATA_BLOB;
    2433             :                 }
    2434         250 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2435             :         }
    2436         250 :         if (ndr_flags & NDR_BUFFERS) {
    2437           0 :         }
    2438         250 :         return NDR_ERR_SUCCESS;
    2439             : }
    2440             : 
    2441           0 : static void ndr_print_flags_PAC_Validate(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct PAC_Validate *r)
    2442             : {
    2443           0 :         ndr_print_PAC_Validate(ndr, name, r);
    2444           0 : }
    2445             : 
    2446           0 : _PUBLIC_ void ndr_print_PAC_Validate(struct ndr_print *ndr, const char *name, const struct PAC_Validate *r)
    2447             : {
    2448           0 :         ndr_print_struct(ndr, name, "PAC_Validate");
    2449           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2450           0 :         ndr->depth++;
    2451           0 :         ndr_print_uint32(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NETLOGON_GENERIC_KRB5_PAC_VALIDATE:r->MessageType);
    2452           0 :         ndr_print_uint32(ndr, "ChecksumLength", r->ChecksumLength);
    2453           0 :         ndr_print_int32(ndr, "SignatureType", r->SignatureType);
    2454           0 :         ndr_print_uint32(ndr, "SignatureLength", r->SignatureLength);
    2455             :         {
    2456           0 :                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    2457           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    2458           0 :                 ndr_print_DATA_BLOB(ndr, "ChecksumAndSignature", r->ChecksumAndSignature);
    2459           0 :                 ndr->flags = _flags_save_DATA_BLOB;
    2460             :         }
    2461           0 :         ndr->depth--;
    2462             : }
    2463             : 
    2464         667 : _PUBLIC_ enum ndr_err_code ndr_push_netsamlogoncache_entry(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct netsamlogoncache_entry *r)
    2465             : {
    2466         667 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2467         667 :         if (ndr_flags & NDR_SCALARS) {
    2468         667 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2469         667 :                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
    2470         667 :                 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
    2471         667 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2472             :         }
    2473         667 :         if (ndr_flags & NDR_BUFFERS) {
    2474         667 :                 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
    2475             :         }
    2476         667 :         return NDR_ERR_SUCCESS;
    2477             : }
    2478             : 
    2479       86466 : _PUBLIC_ enum ndr_err_code ndr_pull_netsamlogoncache_entry(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct netsamlogoncache_entry *r)
    2480             : {
    2481       86466 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2482       86466 :         if (ndr_flags & NDR_SCALARS) {
    2483       86466 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2484       86466 :                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
    2485       86466 :                 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
    2486       86466 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2487             :         }
    2488       86466 :         if (ndr_flags & NDR_BUFFERS) {
    2489       86466 :                 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
    2490             :         }
    2491       86466 :         return NDR_ERR_SUCCESS;
    2492             : }
    2493             : 
    2494           0 : static void ndr_print_flags_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct netsamlogoncache_entry *r)
    2495             : {
    2496           0 :         ndr_print_netsamlogoncache_entry(ndr, name, r);
    2497           0 : }
    2498             : 
    2499           0 : _PUBLIC_ void ndr_print_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, const struct netsamlogoncache_entry *r)
    2500             : {
    2501           0 :         ndr_print_struct(ndr, name, "netsamlogoncache_entry");
    2502           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2503           0 :         ndr->depth++;
    2504           0 :         ndr_print_time_t(ndr, "timestamp", r->timestamp);
    2505           0 :         ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
    2506           0 :         ndr->depth--;
    2507             : }
    2508             : 
    2509             : #ifndef SKIP_NDR_TABLE_krb5pac
    2510             : static const struct ndr_interface_public_struct krb5pac_public_structs[] = {
    2511             :         {
    2512             :                 .name = "PAC_SIGNATURE_DATA",
    2513             :                 .struct_size = sizeof(struct PAC_SIGNATURE_DATA ),
    2514             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_SIGNATURE_DATA,
    2515             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_SIGNATURE_DATA,
    2516             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_SIGNATURE_DATA,
    2517             :         },
    2518             :         {
    2519             :                 .name = "PAC_CREDENTIAL_NTLM_SECPKG",
    2520             :                 .struct_size = sizeof(struct PAC_CREDENTIAL_NTLM_SECPKG ),
    2521             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_NTLM_SECPKG,
    2522             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_NTLM_SECPKG,
    2523             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_NTLM_SECPKG,
    2524             :         },
    2525             :         {
    2526             :                 .name = "PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG",
    2527             :                 .struct_size = sizeof(struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG ),
    2528             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
    2529             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
    2530             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
    2531             :         },
    2532             :         {
    2533             :                 .name = "PAC_CREDENTIAL_DATA",
    2534             :                 .struct_size = sizeof(struct PAC_CREDENTIAL_DATA ),
    2535             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA,
    2536             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA,
    2537             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA,
    2538             :         },
    2539             :         {
    2540             :                 .name = "PAC_CREDENTIAL_DATA_CTR",
    2541             :                 .struct_size = sizeof(struct PAC_CREDENTIAL_DATA_CTR ),
    2542             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA_CTR,
    2543             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA_CTR,
    2544             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA_CTR,
    2545             :         },
    2546             :         {
    2547             :                 .name = "PAC_CREDENTIAL_DATA_NDR",
    2548             :                 .struct_size = sizeof(struct PAC_CREDENTIAL_DATA_NDR ),
    2549             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA_NDR,
    2550             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA_NDR,
    2551             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA_NDR,
    2552             :         },
    2553             :         {
    2554             :                 .name = "PAC_CREDENTIAL_INFO",
    2555             :                 .struct_size = sizeof(struct PAC_CREDENTIAL_INFO ),
    2556             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_INFO,
    2557             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_INFO,
    2558             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_INFO,
    2559             :         },
    2560             :         {
    2561             :                 .name = "PAC_LOGON_INFO_CTR",
    2562             :                 .struct_size = sizeof(struct PAC_LOGON_INFO_CTR ),
    2563             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_LOGON_INFO_CTR,
    2564             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_LOGON_INFO_CTR,
    2565             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_LOGON_INFO_CTR,
    2566             :         },
    2567             :         {
    2568             :                 .name = "PAC_CONSTRAINED_DELEGATION_CTR",
    2569             :                 .struct_size = sizeof(struct PAC_CONSTRAINED_DELEGATION_CTR ),
    2570             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CONSTRAINED_DELEGATION_CTR,
    2571             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR,
    2572             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CONSTRAINED_DELEGATION_CTR,
    2573             :         },
    2574             :         {
    2575             :                 .name = "PAC_BUFFER",
    2576             :                 .struct_size = sizeof(struct PAC_BUFFER ),
    2577             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_BUFFER,
    2578             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_BUFFER,
    2579             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_BUFFER,
    2580             :         },
    2581             :         {
    2582             :                 .name = "PAC_DATA",
    2583             :                 .struct_size = sizeof(struct PAC_DATA ),
    2584             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_DATA,
    2585             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_DATA,
    2586             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_DATA,
    2587             :         },
    2588             :         {
    2589             :                 .name = "PAC_BUFFER_RAW",
    2590             :                 .struct_size = sizeof(struct PAC_BUFFER_RAW ),
    2591             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_BUFFER_RAW,
    2592             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_BUFFER_RAW,
    2593             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_BUFFER_RAW,
    2594             :         },
    2595             :         {
    2596             :                 .name = "PAC_DATA_RAW",
    2597             :                 .struct_size = sizeof(struct PAC_DATA_RAW ),
    2598             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_DATA_RAW,
    2599             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_DATA_RAW,
    2600             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_DATA_RAW,
    2601             :         },
    2602             :         {
    2603             :                 .name = "PAC_Validate",
    2604             :                 .struct_size = sizeof(struct PAC_Validate ),
    2605             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_Validate,
    2606             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_Validate,
    2607             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_Validate,
    2608             :         },
    2609             :         {
    2610             :                 .name = "netsamlogoncache_entry",
    2611             :                 .struct_size = sizeof(struct netsamlogoncache_entry ),
    2612             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netsamlogoncache_entry,
    2613             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netsamlogoncache_entry,
    2614             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netsamlogoncache_entry,
    2615             :         },
    2616             :         { .name = NULL }
    2617             : };
    2618             : 
    2619             : static const struct ndr_interface_call krb5pac_calls[] = {
    2620             :         { .name = NULL }
    2621             : };
    2622             : 
    2623             : static const char * const krb5pac_endpoint_strings[] = {
    2624             :         "ncacn_np:[\\pipe\\krb5pac]", 
    2625             : };
    2626             : 
    2627             : static const struct ndr_interface_string_array krb5pac_endpoints = {
    2628             :         .count  = 1,
    2629             :         .names  = krb5pac_endpoint_strings
    2630             : };
    2631             : 
    2632             : static const char * const krb5pac_authservice_strings[] = {
    2633             :         "host", 
    2634             : };
    2635             : 
    2636             : static const struct ndr_interface_string_array krb5pac_authservices = {
    2637             :         .count  = 1,
    2638             :         .names  = krb5pac_authservice_strings
    2639             : };
    2640             : 
    2641             : 
    2642             : const struct ndr_interface_table ndr_table_krb5pac = {
    2643             :         .name           = "krb5pac",
    2644             :         .syntax_id      = {
    2645             :                 {0x12345778,0x1234,0xabcd,{0x00,0x00},{0x00,0x00,0x00,0x00}},
    2646             :                 NDR_KRB5PAC_VERSION
    2647             :         },
    2648             :         .helpstring     = NDR_KRB5PAC_HELPSTRING,
    2649             :         .num_calls      = 0,
    2650             :         .calls          = krb5pac_calls,
    2651             :         .num_public_structs     = 15,
    2652             :         .public_structs         = krb5pac_public_structs,
    2653             :         .endpoints      = &krb5pac_endpoints,
    2654             :         .authservices   = &krb5pac_authservices
    2655             : };
    2656             : 
    2657             : #endif /* SKIP_NDR_TABLE_krb5pac */

Generated by: LCOV version 1.14