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

Generated by: LCOV version 1.14