LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_krb5ccache.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 653 912 71.6 %
Date: 2024-04-21 15:09:00 Functions: 47 64 73.4 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_krb5ccache.h"
       5             : 
       6         105 : static enum ndr_err_code ndr_push_PRINCIPAL(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PRINCIPAL *r)
       7             : {
       8           6 :         uint32_t cntr_components_0;
       9         105 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      10         105 :         if (ndr_flags & NDR_SCALARS) {
      11         105 :                 NDR_CHECK(ndr_push_align(ndr, 4));
      12         105 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->name_type));
      13         105 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->component_count));
      14             :                 {
      15         105 :                         libndr_flags _flags_save_string = ndr->flags;
      16         105 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
      17         105 :                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->realm));
      18         105 :                         ndr->flags = _flags_save_string;
      19             :                 }
      20             :                 {
      21         105 :                         libndr_flags _flags_save_string = ndr->flags;
      22         105 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
      23         251 :                         for (cntr_components_0 = 0; cntr_components_0 < (r->component_count); cntr_components_0++) {
      24         140 :                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->components[cntr_components_0]));
      25             :                         }
      26         105 :                         ndr->flags = _flags_save_string;
      27             :                 }
      28         105 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
      29             :         }
      30         105 :         if (ndr_flags & NDR_BUFFERS) {
      31           6 :         }
      32         105 :         return NDR_ERR_SUCCESS;
      33             : }
      34             : 
      35          12 : static enum ndr_err_code ndr_pull_PRINCIPAL(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PRINCIPAL *r)
      36             : {
      37          12 :         uint32_t size_components_0 = 0;
      38          12 :         uint32_t cntr_components_0;
      39          12 :         TALLOC_CTX *_mem_save_components_0 = NULL;
      40          12 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      41          12 :         if (ndr_flags & NDR_SCALARS) {
      42          12 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
      43          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->name_type));
      44          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->component_count));
      45             :                 {
      46          12 :                         libndr_flags _flags_save_string = ndr->flags;
      47          12 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
      48          12 :                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->realm));
      49          12 :                         ndr->flags = _flags_save_string;
      50             :                 }
      51             :                 {
      52          12 :                         libndr_flags _flags_save_string = ndr->flags;
      53          12 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
      54          12 :                         size_components_0 = r->component_count;
      55          12 :                         NDR_PULL_ALLOC_N(ndr, r->components, size_components_0);
      56          12 :                         _mem_save_components_0 = NDR_PULL_GET_MEM_CTX(ndr);
      57          12 :                         NDR_PULL_SET_MEM_CTX(ndr, r->components, 0);
      58          28 :                         for (cntr_components_0 = 0; cntr_components_0 < (size_components_0); cntr_components_0++) {
      59          16 :                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->components[cntr_components_0]));
      60             :                         }
      61          12 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_components_0, 0);
      62          12 :                         ndr->flags = _flags_save_string;
      63             :                 }
      64          12 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
      65             :         }
      66          12 :         if (ndr_flags & NDR_BUFFERS) {
      67          12 :         }
      68          12 :         return NDR_ERR_SUCCESS;
      69             : }
      70             : 
      71          12 : _PUBLIC_ void ndr_print_PRINCIPAL(struct ndr_print *ndr, const char *name, const struct PRINCIPAL *r)
      72             : {
      73          12 :         uint32_t cntr_components_0;
      74          12 :         ndr_print_struct(ndr, name, "PRINCIPAL");
      75          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
      76          12 :         ndr->depth++;
      77          12 :         ndr_print_uint32(ndr, "name_type", r->name_type);
      78          12 :         ndr_print_uint32(ndr, "component_count", r->component_count);
      79             :         {
      80          12 :                 libndr_flags _flags_save_string = ndr->flags;
      81          12 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
      82          12 :                 ndr_print_string(ndr, "realm", r->realm);
      83          12 :                 ndr->flags = _flags_save_string;
      84             :         }
      85             :         {
      86          12 :                 libndr_flags _flags_save_string = ndr->flags;
      87          12 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
      88          12 :                 ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "components", (uint32_t)(r->component_count));
      89          12 :                 ndr->depth++;
      90          28 :                 for (cntr_components_0 = 0; cntr_components_0 < (r->component_count); cntr_components_0++) {
      91          16 :                         ndr_print_string(ndr, "components", r->components[cntr_components_0]);
      92             :                 }
      93          12 :                 ndr->depth--;
      94          12 :                 ndr->flags = _flags_save_string;
      95             :         }
      96          12 :         ndr->depth--;
      97             : }
      98             : 
      99          35 : static enum ndr_err_code ndr_push_KEYBLOCK(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYBLOCK *r)
     100             : {
     101          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     102          35 :         if (ndr_flags & NDR_SCALARS) {
     103          35 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     104          35 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->enctype));
     105          35 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
     106          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     107             :         }
     108          35 :         if (ndr_flags & NDR_BUFFERS) {
     109           2 :         }
     110          35 :         return NDR_ERR_SUCCESS;
     111             : }
     112             : 
     113           4 : static enum ndr_err_code ndr_pull_KEYBLOCK(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYBLOCK *r)
     114             : {
     115           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     116           4 :         if (ndr_flags & NDR_SCALARS) {
     117           4 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     118           4 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->enctype));
     119           4 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
     120           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     121             :         }
     122           4 :         if (ndr_flags & NDR_BUFFERS) {
     123           4 :         }
     124           4 :         return NDR_ERR_SUCCESS;
     125             : }
     126             : 
     127           4 : _PUBLIC_ void ndr_print_KEYBLOCK(struct ndr_print *ndr, const char *name, const struct KEYBLOCK *r)
     128             : {
     129           4 :         ndr_print_struct(ndr, name, "KEYBLOCK");
     130           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     131           4 :         ndr->depth++;
     132           4 :         ndr_print_uint16(ndr, "enctype", r->enctype);
     133           4 :         ndr_print_DATA_BLOB(ndr, "data", r->data);
     134           4 :         ndr->depth--;
     135             : }
     136             : 
     137           0 : static enum ndr_err_code ndr_push_ADDRESS(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct ADDRESS *r)
     138             : {
     139           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     140           0 :         if (ndr_flags & NDR_SCALARS) {
     141           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     142           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->addrtype));
     143           0 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
     144           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     145             :         }
     146           0 :         if (ndr_flags & NDR_BUFFERS) {
     147           0 :         }
     148           0 :         return NDR_ERR_SUCCESS;
     149             : }
     150             : 
     151           0 : static enum ndr_err_code ndr_pull_ADDRESS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct ADDRESS *r)
     152             : {
     153           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     154           0 :         if (ndr_flags & NDR_SCALARS) {
     155           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     156           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->addrtype));
     157           0 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
     158           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     159             :         }
     160           0 :         if (ndr_flags & NDR_BUFFERS) {
     161           0 :         }
     162           0 :         return NDR_ERR_SUCCESS;
     163             : }
     164             : 
     165           0 : _PUBLIC_ void ndr_print_ADDRESS(struct ndr_print *ndr, const char *name, const struct ADDRESS *r)
     166             : {
     167           0 :         ndr_print_struct(ndr, name, "ADDRESS");
     168           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     169           0 :         ndr->depth++;
     170           0 :         ndr_print_uint16(ndr, "addrtype", r->addrtype);
     171           0 :         ndr_print_DATA_BLOB(ndr, "data", r->data);
     172           0 :         ndr->depth--;
     173             : }
     174             : 
     175          35 : static enum ndr_err_code ndr_push_ADDRESSES(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct ADDRESSES *r)
     176             : {
     177           2 :         uint32_t cntr_data_0;
     178          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     179          35 :         if (ndr_flags & NDR_SCALARS) {
     180          35 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     181          35 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
     182          35 :                 for (cntr_data_0 = 0; cntr_data_0 < (r->count); cntr_data_0++) {
     183           0 :                         NDR_CHECK(ndr_push_ADDRESS(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
     184             :                 }
     185          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     186             :         }
     187          35 :         if (ndr_flags & NDR_BUFFERS) {
     188           2 :         }
     189          35 :         return NDR_ERR_SUCCESS;
     190             : }
     191             : 
     192           4 : static enum ndr_err_code ndr_pull_ADDRESSES(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct ADDRESSES *r)
     193             : {
     194           4 :         uint32_t size_data_0 = 0;
     195           4 :         uint32_t cntr_data_0;
     196           4 :         TALLOC_CTX *_mem_save_data_0 = NULL;
     197           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     198           4 :         if (ndr_flags & NDR_SCALARS) {
     199           4 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     200           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
     201           4 :                 size_data_0 = r->count;
     202           4 :                 NDR_PULL_ALLOC_N(ndr, r->data, size_data_0);
     203           4 :                 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
     204           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
     205           4 :                 for (cntr_data_0 = 0; cntr_data_0 < (size_data_0); cntr_data_0++) {
     206           0 :                         NDR_CHECK(ndr_pull_ADDRESS(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
     207             :                 }
     208           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
     209           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     210             :         }
     211           4 :         if (ndr_flags & NDR_BUFFERS) {
     212           4 :         }
     213           4 :         return NDR_ERR_SUCCESS;
     214             : }
     215             : 
     216           4 : _PUBLIC_ void ndr_print_ADDRESSES(struct ndr_print *ndr, const char *name, const struct ADDRESSES *r)
     217             : {
     218           4 :         uint32_t cntr_data_0;
     219           4 :         ndr_print_struct(ndr, name, "ADDRESSES");
     220           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     221           4 :         ndr->depth++;
     222           4 :         ndr_print_uint32(ndr, "count", r->count);
     223           4 :         ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "data", (uint32_t)(r->count));
     224           4 :         ndr->depth++;
     225           4 :         for (cntr_data_0 = 0; cntr_data_0 < (r->count); cntr_data_0++) {
     226           0 :                 ndr_print_ADDRESS(ndr, "data", &r->data[cntr_data_0]);
     227             :         }
     228           4 :         ndr->depth--;
     229           4 :         ndr->depth--;
     230             : }
     231             : 
     232           0 : static enum ndr_err_code ndr_push_AUTHDATUM(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct AUTHDATUM *r)
     233             : {
     234           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     235           0 :         if (ndr_flags & NDR_SCALARS) {
     236           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     237           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ad_type));
     238           0 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
     239           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     240             :         }
     241           0 :         if (ndr_flags & NDR_BUFFERS) {
     242           0 :         }
     243           0 :         return NDR_ERR_SUCCESS;
     244             : }
     245             : 
     246           0 : static enum ndr_err_code ndr_pull_AUTHDATUM(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct AUTHDATUM *r)
     247             : {
     248           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     249           0 :         if (ndr_flags & NDR_SCALARS) {
     250           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     251           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ad_type));
     252           0 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
     253           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     254             :         }
     255           0 :         if (ndr_flags & NDR_BUFFERS) {
     256           0 :         }
     257           0 :         return NDR_ERR_SUCCESS;
     258             : }
     259             : 
     260           0 : _PUBLIC_ void ndr_print_AUTHDATUM(struct ndr_print *ndr, const char *name, const struct AUTHDATUM *r)
     261             : {
     262           0 :         ndr_print_struct(ndr, name, "AUTHDATUM");
     263           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     264           0 :         ndr->depth++;
     265           0 :         ndr_print_uint16(ndr, "ad_type", r->ad_type);
     266           0 :         ndr_print_DATA_BLOB(ndr, "data", r->data);
     267           0 :         ndr->depth--;
     268             : }
     269             : 
     270          35 : static enum ndr_err_code ndr_push_AUTHDATA(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct AUTHDATA *r)
     271             : {
     272           2 :         uint32_t cntr_data_0;
     273          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     274          35 :         if (ndr_flags & NDR_SCALARS) {
     275          35 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     276          35 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
     277          35 :                 for (cntr_data_0 = 0; cntr_data_0 < (r->count); cntr_data_0++) {
     278           0 :                         NDR_CHECK(ndr_push_AUTHDATUM(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
     279             :                 }
     280          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     281             :         }
     282          35 :         if (ndr_flags & NDR_BUFFERS) {
     283           2 :         }
     284          35 :         return NDR_ERR_SUCCESS;
     285             : }
     286             : 
     287           4 : static enum ndr_err_code ndr_pull_AUTHDATA(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct AUTHDATA *r)
     288             : {
     289           4 :         uint32_t size_data_0 = 0;
     290           4 :         uint32_t cntr_data_0;
     291           4 :         TALLOC_CTX *_mem_save_data_0 = NULL;
     292           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     293           4 :         if (ndr_flags & NDR_SCALARS) {
     294           4 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     295           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
     296           4 :                 size_data_0 = r->count;
     297           4 :                 NDR_PULL_ALLOC_N(ndr, r->data, size_data_0);
     298           4 :                 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
     299           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
     300           4 :                 for (cntr_data_0 = 0; cntr_data_0 < (size_data_0); cntr_data_0++) {
     301           0 :                         NDR_CHECK(ndr_pull_AUTHDATUM(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
     302             :                 }
     303           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
     304           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     305             :         }
     306           4 :         if (ndr_flags & NDR_BUFFERS) {
     307           4 :         }
     308           4 :         return NDR_ERR_SUCCESS;
     309             : }
     310             : 
     311           4 : _PUBLIC_ void ndr_print_AUTHDATA(struct ndr_print *ndr, const char *name, const struct AUTHDATA *r)
     312             : {
     313           4 :         uint32_t cntr_data_0;
     314           4 :         ndr_print_struct(ndr, name, "AUTHDATA");
     315           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     316           4 :         ndr->depth++;
     317           4 :         ndr_print_uint32(ndr, "count", r->count);
     318           4 :         ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "data", (uint32_t)(r->count));
     319           4 :         ndr->depth++;
     320           4 :         for (cntr_data_0 = 0; cntr_data_0 < (r->count); cntr_data_0++) {
     321           0 :                 ndr_print_AUTHDATUM(ndr, "data", &r->data[cntr_data_0]);
     322             :         }
     323           4 :         ndr->depth--;
     324           4 :         ndr->depth--;
     325             : }
     326             : 
     327          35 : static enum ndr_err_code ndr_push_CREDENTIAL(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct CREDENTIAL *r)
     328             : {
     329          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     330          35 :         if (ndr_flags & NDR_SCALARS) {
     331          35 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     332          35 :                 NDR_CHECK(ndr_push_PRINCIPAL(ndr, NDR_SCALARS, &r->client));
     333          35 :                 NDR_CHECK(ndr_push_PRINCIPAL(ndr, NDR_SCALARS, &r->server));
     334          35 :                 NDR_CHECK(ndr_push_KEYBLOCK(ndr, NDR_SCALARS, &r->keyblock));
     335          35 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->authtime));
     336          35 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->starttime));
     337          35 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->endtime));
     338          35 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->renew_till));
     339          35 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->is_skey));
     340          35 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ticket_flags));
     341          35 :                 NDR_CHECK(ndr_push_ADDRESSES(ndr, NDR_SCALARS, &r->addresses));
     342          35 :                 NDR_CHECK(ndr_push_AUTHDATA(ndr, NDR_SCALARS, &r->authdata));
     343          35 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->ticket));
     344          35 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->second_ticket));
     345          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     346             :         }
     347          35 :         if (ndr_flags & NDR_BUFFERS) {
     348           2 :         }
     349          35 :         return NDR_ERR_SUCCESS;
     350             : }
     351             : 
     352           4 : static enum ndr_err_code ndr_pull_CREDENTIAL(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct CREDENTIAL *r)
     353             : {
     354           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     355           4 :         if (ndr_flags & NDR_SCALARS) {
     356           4 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     357           4 :                 NDR_CHECK(ndr_pull_PRINCIPAL(ndr, NDR_SCALARS, &r->client));
     358           4 :                 NDR_CHECK(ndr_pull_PRINCIPAL(ndr, NDR_SCALARS, &r->server));
     359           4 :                 NDR_CHECK(ndr_pull_KEYBLOCK(ndr, NDR_SCALARS, &r->keyblock));
     360           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->authtime));
     361           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
     362           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->endtime));
     363           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->renew_till));
     364           4 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->is_skey));
     365           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ticket_flags));
     366           4 :                 NDR_CHECK(ndr_pull_ADDRESSES(ndr, NDR_SCALARS, &r->addresses));
     367           4 :                 NDR_CHECK(ndr_pull_AUTHDATA(ndr, NDR_SCALARS, &r->authdata));
     368           4 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->ticket));
     369           4 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->second_ticket));
     370           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     371             :         }
     372           4 :         if (ndr_flags & NDR_BUFFERS) {
     373           4 :         }
     374           4 :         return NDR_ERR_SUCCESS;
     375             : }
     376             : 
     377           4 : _PUBLIC_ void ndr_print_CREDENTIAL(struct ndr_print *ndr, const char *name, const struct CREDENTIAL *r)
     378             : {
     379           4 :         ndr_print_struct(ndr, name, "CREDENTIAL");
     380           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     381           4 :         ndr->depth++;
     382           4 :         ndr_print_PRINCIPAL(ndr, "client", &r->client);
     383           4 :         ndr_print_PRINCIPAL(ndr, "server", &r->server);
     384           4 :         ndr_print_KEYBLOCK(ndr, "keyblock", &r->keyblock);
     385           4 :         ndr_print_uint32(ndr, "authtime", r->authtime);
     386           4 :         ndr_print_uint32(ndr, "starttime", r->starttime);
     387           4 :         ndr_print_uint32(ndr, "endtime", r->endtime);
     388           4 :         ndr_print_uint32(ndr, "renew_till", r->renew_till);
     389           4 :         ndr_print_uint8(ndr, "is_skey", r->is_skey);
     390           4 :         ndr_print_uint32(ndr, "ticket_flags", r->ticket_flags);
     391           4 :         ndr_print_ADDRESSES(ndr, "addresses", &r->addresses);
     392           4 :         ndr_print_AUTHDATA(ndr, "authdata", &r->authdata);
     393           4 :         ndr_print_DATA_BLOB(ndr, "ticket", r->ticket);
     394           4 :         ndr_print_DATA_BLOB(ndr, "second_ticket", r->second_ticket);
     395           4 :         ndr->depth--;
     396             : }
     397             : 
     398          35 : static enum ndr_err_code ndr_push_DELTATIME_TAG(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct DELTATIME_TAG *r)
     399             : {
     400          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     401          35 :         if (ndr_flags & NDR_SCALARS) {
     402          35 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     403          35 :                 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, 0));
     404          35 :                 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, 0));
     405          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     406             :         }
     407          35 :         if (ndr_flags & NDR_BUFFERS) {
     408           2 :         }
     409          35 :         return NDR_ERR_SUCCESS;
     410             : }
     411             : 
     412           4 : static enum ndr_err_code ndr_pull_DELTATIME_TAG(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct DELTATIME_TAG *r)
     413             : {
     414           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     415           4 :         if (ndr_flags & NDR_SCALARS) {
     416           4 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     417           4 :                 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->kdc_sec_offset));
     418           4 :                 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->kdc_usec_offset));
     419           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     420             :         }
     421           4 :         if (ndr_flags & NDR_BUFFERS) {
     422           4 :         }
     423           4 :         return NDR_ERR_SUCCESS;
     424             : }
     425             : 
     426           4 : _PUBLIC_ void ndr_print_DELTATIME_TAG(struct ndr_print *ndr, const char *name, const struct DELTATIME_TAG *r)
     427             : {
     428           4 :         ndr_print_struct(ndr, name, "DELTATIME_TAG");
     429           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     430           4 :         ndr->depth++;
     431           4 :         ndr_print_int32(ndr, "kdc_sec_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->kdc_sec_offset);
     432           4 :         ndr_print_int32(ndr, "kdc_usec_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->kdc_usec_offset);
     433           4 :         ndr->depth--;
     434             : }
     435             : 
     436          35 : static enum ndr_err_code ndr_push_FIELD(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union FIELD *r)
     437             : {
     438           2 :         uint32_t level;
     439          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     440          35 :         if (ndr_flags & NDR_SCALARS) {
     441             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     442          35 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     443          35 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
     444          35 :                 switch (level) {
     445          35 :                         case 1: {
     446          35 :                                 NDR_CHECK(ndr_push_DELTATIME_TAG(ndr, NDR_SCALARS, &r->deltatime_tag));
     447          33 :                         break; }
     448             : 
     449           0 :                         default:
     450           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32, level);
     451             :                 }
     452             :         }
     453          35 :         if (ndr_flags & NDR_BUFFERS) {
     454           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
     455             :                         /* We didn't get it above, and the token is not needed after this. */
     456           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     457             :                 }
     458           0 :                 switch (level) {
     459           0 :                         case 1:
     460           0 :                         break;
     461             : 
     462           0 :                         default:
     463           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32, level);
     464             :                 }
     465             :         }
     466          33 :         return NDR_ERR_SUCCESS;
     467             : }
     468             : 
     469           4 : static enum ndr_err_code ndr_pull_FIELD(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union FIELD *r)
     470             : {
     471           4 :         uint32_t level;
     472           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     473           4 :         if (ndr_flags & NDR_SCALARS) {
     474             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     475           4 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     476           4 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
     477           4 :                 switch (level) {
     478           4 :                         case 1: {
     479           4 :                                 NDR_CHECK(ndr_pull_DELTATIME_TAG(ndr, NDR_SCALARS, &r->deltatime_tag));
     480           0 :                         break; }
     481             : 
     482           0 :                         default:
     483           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" at %s", level, __location__);
     484             :                 }
     485             :         }
     486           4 :         if (ndr_flags & NDR_BUFFERS) {
     487           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
     488             :                         /* We didn't get it above, and the token is not needed after this. */
     489           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     490             :                 }
     491           0 :                 switch (level) {
     492           0 :                         case 1:
     493           0 :                         break;
     494             : 
     495           0 :                         default:
     496           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" at %s", level, __location__);
     497             :                 }
     498             :         }
     499           0 :         return NDR_ERR_SUCCESS;
     500             : }
     501             : 
     502           4 : _PUBLIC_ void ndr_print_FIELD(struct ndr_print *ndr, const char *name, const union FIELD *r)
     503             : {
     504           4 :         uint32_t level;
     505           4 :         level = ndr_print_steal_switch_value(ndr, r);
     506           4 :         ndr_print_union(ndr, name, level, "FIELD");
     507           4 :         switch (level) {
     508           4 :                 case 1:
     509           4 :                         ndr_print_DELTATIME_TAG(ndr, "deltatime_tag", &r->deltatime_tag);
     510           4 :                 break;
     511             : 
     512           0 :                 default:
     513           0 :                         ndr_print_bad_level(ndr, name, level);
     514             :         }
     515           4 : }
     516             : 
     517          35 : static enum ndr_err_code ndr_push_V4TAG(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct V4TAG *r)
     518             : {
     519          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     520          35 :         if (ndr_flags & NDR_SCALARS) {
     521          35 :                 NDR_CHECK(ndr_push_align(ndr, 2));
     522          35 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 1));
     523             :                 {
     524           2 :                         struct ndr_push *_ndr_field;
     525          35 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_field, 2, -1));
     526          35 :                         NDR_CHECK(ndr_push_set_switch_value(_ndr_field, &r->field, 1));
     527          35 :                         NDR_CHECK(ndr_push_FIELD(_ndr_field, NDR_SCALARS, &r->field));
     528          35 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_field, 2, -1));
     529             :                 }
     530          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
     531             :         }
     532          35 :         if (ndr_flags & NDR_BUFFERS) {
     533           2 :         }
     534          35 :         return NDR_ERR_SUCCESS;
     535             : }
     536             : 
     537           4 : static enum ndr_err_code ndr_pull_V4TAG(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct V4TAG *r)
     538             : {
     539           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     540           4 :         if (ndr_flags & NDR_SCALARS) {
     541           4 :                 NDR_CHECK(ndr_pull_align(ndr, 2));
     542           4 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->tag));
     543             :                 {
     544           4 :                         struct ndr_pull *_ndr_field;
     545           4 :                         ssize_t sub_size = -1;
     546           4 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_field, 2, sub_size));
     547           4 :                         NDR_CHECK(ndr_pull_set_switch_value(_ndr_field, &r->field, r->tag));
     548           4 :                         NDR_CHECK(ndr_pull_FIELD(_ndr_field, NDR_SCALARS, &r->field));
     549           4 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_field, 2, sub_size));
     550             :                 }
     551           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
     552             :         }
     553           4 :         if (ndr_flags & NDR_BUFFERS) {
     554           4 :         }
     555           4 :         return NDR_ERR_SUCCESS;
     556             : }
     557             : 
     558           4 : _PUBLIC_ void ndr_print_V4TAG(struct ndr_print *ndr, const char *name, const struct V4TAG *r)
     559             : {
     560           4 :         ndr_print_struct(ndr, name, "V4TAG");
     561           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     562           4 :         ndr->depth++;
     563           4 :         ndr_print_uint16(ndr, "tag", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->tag);
     564           4 :         ndr_print_set_switch_value(ndr, &r->field, r->tag);
     565           4 :         ndr_print_FIELD(ndr, "field", &r->field);
     566           4 :         ndr->depth--;
     567             : }
     568             : 
     569          35 : static enum ndr_err_code ndr_push_V4TAGS(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct V4TAGS *r)
     570             : {
     571          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     572          35 :         if (ndr_flags & NDR_SCALARS) {
     573          35 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     574          35 :                 NDR_CHECK(ndr_push_V4TAG(ndr, NDR_SCALARS, &r->tag));
     575             :                 {
     576          35 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     577          35 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     578          35 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_tags));
     579          35 :                         ndr->flags = _flags_save_DATA_BLOB;
     580             :                 }
     581          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     582             :         }
     583          35 :         if (ndr_flags & NDR_BUFFERS) {
     584           2 :         }
     585          35 :         return NDR_ERR_SUCCESS;
     586             : }
     587             : 
     588           4 : static enum ndr_err_code ndr_pull_V4TAGS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct V4TAGS *r)
     589             : {
     590           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     591           4 :         if (ndr_flags & NDR_SCALARS) {
     592           4 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     593           4 :                 NDR_CHECK(ndr_pull_V4TAG(ndr, NDR_SCALARS, &r->tag));
     594             :                 {
     595           4 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     596           4 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     597           4 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_tags));
     598           4 :                         ndr->flags = _flags_save_DATA_BLOB;
     599             :                 }
     600           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     601             :         }
     602           4 :         if (ndr_flags & NDR_BUFFERS) {
     603           4 :         }
     604           4 :         return NDR_ERR_SUCCESS;
     605             : }
     606             : 
     607           4 : _PUBLIC_ void ndr_print_V4TAGS(struct ndr_print *ndr, const char *name, const struct V4TAGS *r)
     608             : {
     609           4 :         ndr_print_struct(ndr, name, "V4TAGS");
     610           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     611           4 :         ndr->depth++;
     612           4 :         ndr_print_V4TAG(ndr, "tag", &r->tag);
     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, "further_tags", r->further_tags);
     617           4 :                 ndr->flags = _flags_save_DATA_BLOB;
     618             :         }
     619           4 :         ndr->depth--;
     620             : }
     621             : 
     622          35 : static enum ndr_err_code ndr_push_V4HEADER(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct V4HEADER *r)
     623             : {
     624          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     625          35 :         if (ndr_flags & NDR_SCALARS) {
     626          35 :                 NDR_CHECK(ndr_push_align(ndr, 1));
     627             :                 {
     628           2 :                         struct ndr_push *_ndr_v4tags;
     629          35 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_v4tags, 2, -1));
     630          35 :                         NDR_CHECK(ndr_push_V4TAGS(_ndr_v4tags, NDR_SCALARS, &r->v4tags));
     631          35 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_v4tags, 2, -1));
     632             :                 }
     633          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
     634             :         }
     635          35 :         if (ndr_flags & NDR_BUFFERS) {
     636           2 :         }
     637          35 :         return NDR_ERR_SUCCESS;
     638             : }
     639             : 
     640           4 : static enum ndr_err_code ndr_pull_V4HEADER(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct V4HEADER *r)
     641             : {
     642           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     643           4 :         if (ndr_flags & NDR_SCALARS) {
     644           4 :                 NDR_CHECK(ndr_pull_align(ndr, 1));
     645             :                 {
     646           4 :                         struct ndr_pull *_ndr_v4tags;
     647           4 :                         ssize_t sub_size = -1;
     648           4 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_v4tags, 2, sub_size));
     649           4 :                         NDR_CHECK(ndr_pull_V4TAGS(_ndr_v4tags, NDR_SCALARS, &r->v4tags));
     650           4 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_v4tags, 2, sub_size));
     651             :                 }
     652           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
     653             :         }
     654           4 :         if (ndr_flags & NDR_BUFFERS) {
     655           4 :         }
     656           4 :         return NDR_ERR_SUCCESS;
     657             : }
     658             : 
     659           4 : _PUBLIC_ void ndr_print_V4HEADER(struct ndr_print *ndr, const char *name, const struct V4HEADER *r)
     660             : {
     661           4 :         ndr_print_struct(ndr, name, "V4HEADER");
     662           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     663           4 :         ndr->depth++;
     664           4 :         ndr_print_V4TAGS(ndr, "v4tags", &r->v4tags);
     665           4 :         ndr->depth--;
     666             : }
     667             : 
     668          70 : static enum ndr_err_code ndr_push_OPTIONAL_HEADER(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union OPTIONAL_HEADER *r)
     669             : {
     670           4 :         uint32_t level;
     671          70 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     672          70 :         if (ndr_flags & NDR_SCALARS) {
     673             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     674          35 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     675          35 :                 NDR_CHECK(ndr_push_union_align(ndr, 1));
     676          35 :                 switch (level) {
     677           0 :                         case 3: {
     678           0 :                         break; }
     679             : 
     680          35 :                         case 4: {
     681          35 :                                 NDR_CHECK(ndr_push_V4HEADER(ndr, NDR_SCALARS, &r->v4header));
     682          33 :                         break; }
     683             : 
     684           0 :                         default:
     685           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32, level);
     686             :                 }
     687             :         }
     688          70 :         if (ndr_flags & NDR_BUFFERS) {
     689          35 :                 if (!(ndr_flags & NDR_SCALARS)) {
     690             :                         /* We didn't get it above, and the token is not needed after this. */
     691          35 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     692             :                 }
     693          35 :                 switch (level) {
     694           0 :                         case 3:
     695           0 :                         break;
     696             : 
     697          33 :                         case 4:
     698          33 :                         break;
     699             : 
     700           0 :                         default:
     701           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32, level);
     702             :                 }
     703             :         }
     704          66 :         return NDR_ERR_SUCCESS;
     705             : }
     706             : 
     707           8 : static enum ndr_err_code ndr_pull_OPTIONAL_HEADER(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union OPTIONAL_HEADER *r)
     708             : {
     709           8 :         uint32_t level;
     710           8 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     711           8 :         if (ndr_flags & NDR_SCALARS) {
     712             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     713           4 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     714           4 :                 NDR_CHECK(ndr_pull_union_align(ndr, 1));
     715           4 :                 switch (level) {
     716           0 :                         case 3: {
     717           0 :                         break; }
     718             : 
     719           4 :                         case 4: {
     720           4 :                                 NDR_CHECK(ndr_pull_V4HEADER(ndr, NDR_SCALARS, &r->v4header));
     721           0 :                         break; }
     722             : 
     723           0 :                         default:
     724           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" at %s", level, __location__);
     725             :                 }
     726             :         }
     727           8 :         if (ndr_flags & NDR_BUFFERS) {
     728           4 :                 if (!(ndr_flags & NDR_SCALARS)) {
     729             :                         /* We didn't get it above, and the token is not needed after this. */
     730           4 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     731             :                 }
     732           4 :                 switch (level) {
     733           0 :                         case 3:
     734           0 :                         break;
     735             : 
     736           0 :                         case 4:
     737           0 :                         break;
     738             : 
     739           0 :                         default:
     740           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" at %s", level, __location__);
     741             :                 }
     742             :         }
     743           0 :         return NDR_ERR_SUCCESS;
     744             : }
     745             : 
     746           4 : _PUBLIC_ void ndr_print_OPTIONAL_HEADER(struct ndr_print *ndr, const char *name, const union OPTIONAL_HEADER *r)
     747             : {
     748           4 :         uint32_t level;
     749           4 :         level = ndr_print_steal_switch_value(ndr, r);
     750           4 :         ndr_print_union(ndr, name, level, "OPTIONAL_HEADER");
     751           4 :         switch (level) {
     752           0 :                 case 3:
     753           0 :                 break;
     754             : 
     755           4 :                 case 4:
     756           4 :                         ndr_print_V4HEADER(ndr, "v4header", &r->v4header);
     757           4 :                 break;
     758             : 
     759           0 :                 default:
     760           0 :                         ndr_print_bad_level(ndr, name, level);
     761             :         }
     762           4 : }
     763             : 
     764          35 : _PUBLIC_ enum ndr_err_code ndr_push_CCACHE(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct CCACHE *r)
     765             : {
     766             :         {
     767          35 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
     768          35 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
     769          35 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     770          35 :                 if (ndr_flags & NDR_SCALARS) {
     771          35 :                         NDR_CHECK(ndr_push_align(ndr, 4));
     772          35 :                         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 5));
     773          35 :                         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 4));
     774          35 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, &r->optional_header, 4));
     775          35 :                         NDR_CHECK(ndr_push_OPTIONAL_HEADER(ndr, NDR_SCALARS, &r->optional_header));
     776          35 :                         NDR_CHECK(ndr_push_PRINCIPAL(ndr, NDR_SCALARS, &r->principal));
     777          35 :                         NDR_CHECK(ndr_push_CREDENTIAL(ndr, NDR_SCALARS, &r->cred));
     778             :                         {
     779          35 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     780          35 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     781          35 :                                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_creds));
     782          35 :                                 ndr->flags = _flags_save_DATA_BLOB;
     783             :                         }
     784          35 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     785             :                 }
     786          35 :                 if (ndr_flags & NDR_BUFFERS) {
     787          35 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, &r->optional_header, 4));
     788          35 :                         NDR_CHECK(ndr_push_OPTIONAL_HEADER(ndr, NDR_BUFFERS, &r->optional_header));
     789             :                 }
     790          35 :                 ndr->flags = _flags_save_STRUCT;
     791             :         }
     792          35 :         return NDR_ERR_SUCCESS;
     793             : }
     794             : 
     795           4 : _PUBLIC_ enum ndr_err_code ndr_pull_CCACHE(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct CCACHE *r)
     796             : {
     797             :         {
     798           4 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
     799           4 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
     800           4 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     801           4 :                 if (ndr_flags & NDR_SCALARS) {
     802           4 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
     803           4 :                         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pvno));
     804           4 :                         if (r->pvno < 5 || r->pvno > 5) {
     805           0 :                                 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value (%"PRIu8") out of range (%"PRIu8" - %"PRIu8")", (uint8_t)(r->pvno), (uint8_t)(5), (uint8_t)(5));
     806             :                         }
     807           4 :                         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version));
     808           4 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->optional_header, r->version));
     809           4 :                         NDR_CHECK(ndr_pull_OPTIONAL_HEADER(ndr, NDR_SCALARS, &r->optional_header));
     810           4 :                         NDR_CHECK(ndr_pull_PRINCIPAL(ndr, NDR_SCALARS, &r->principal));
     811           4 :                         NDR_CHECK(ndr_pull_CREDENTIAL(ndr, NDR_SCALARS, &r->cred));
     812             :                         {
     813           4 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     814           4 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     815           4 :                                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_creds));
     816           4 :                                 ndr->flags = _flags_save_DATA_BLOB;
     817             :                         }
     818           4 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     819             :                 }
     820           4 :                 if (ndr_flags & NDR_BUFFERS) {
     821           4 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->optional_header, r->version));
     822           4 :                         NDR_CHECK(ndr_pull_OPTIONAL_HEADER(ndr, NDR_BUFFERS, &r->optional_header));
     823             :                 }
     824           4 :                 ndr->flags = _flags_save_STRUCT;
     825             :         }
     826           4 :         return NDR_ERR_SUCCESS;
     827             : }
     828             : 
     829           4 : static void ndr_print_flags_CCACHE(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct CCACHE *r)
     830             : {
     831           4 :         ndr_print_CCACHE(ndr, name, r);
     832           4 : }
     833             : 
     834           4 : _PUBLIC_ void ndr_print_CCACHE(struct ndr_print *ndr, const char *name, const struct CCACHE *r)
     835             : {
     836           4 :         ndr_print_struct(ndr, name, "CCACHE");
     837           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     838             :         {
     839           4 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
     840           4 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
     841           4 :                 ndr->depth++;
     842           4 :                 ndr_print_uint8(ndr, "pvno", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?5:r->pvno);
     843           4 :                 ndr_print_uint8(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?4:r->version);
     844           4 :                 ndr_print_set_switch_value(ndr, &r->optional_header, r->version);
     845           4 :                 ndr_print_OPTIONAL_HEADER(ndr, "optional_header", &r->optional_header);
     846           4 :                 ndr_print_PRINCIPAL(ndr, "principal", &r->principal);
     847           4 :                 ndr_print_CREDENTIAL(ndr, "cred", &r->cred);
     848             :                 {
     849           4 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     850           4 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     851           4 :                         ndr_print_DATA_BLOB(ndr, "further_creds", r->further_creds);
     852           4 :                         ndr->flags = _flags_save_DATA_BLOB;
     853             :                 }
     854           4 :                 ndr->depth--;
     855           4 :                 ndr->flags = _flags_save_STRUCT;
     856             :         }
     857             : }
     858             : 
     859           0 : _PUBLIC_ enum ndr_err_code ndr_push_MULTIPLE_CREDENTIALS(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct MULTIPLE_CREDENTIALS *r)
     860             : {
     861             :         {
     862           0 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
     863           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
     864           0 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     865           0 :                 if (ndr_flags & NDR_SCALARS) {
     866           0 :                         NDR_CHECK(ndr_push_align(ndr, 4));
     867           0 :                         NDR_CHECK(ndr_push_CREDENTIAL(ndr, NDR_SCALARS, &r->cred));
     868             :                         {
     869           0 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     870           0 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     871           0 :                                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_creds));
     872           0 :                                 ndr->flags = _flags_save_DATA_BLOB;
     873             :                         }
     874           0 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     875             :                 }
     876           0 :                 if (ndr_flags & NDR_BUFFERS) {
     877           0 :                 }
     878           0 :                 ndr->flags = _flags_save_STRUCT;
     879             :         }
     880           0 :         return NDR_ERR_SUCCESS;
     881             : }
     882             : 
     883           0 : _PUBLIC_ enum ndr_err_code ndr_pull_MULTIPLE_CREDENTIALS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct MULTIPLE_CREDENTIALS *r)
     884             : {
     885             :         {
     886           0 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
     887           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
     888           0 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     889           0 :                 if (ndr_flags & NDR_SCALARS) {
     890           0 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
     891           0 :                         NDR_CHECK(ndr_pull_CREDENTIAL(ndr, NDR_SCALARS, &r->cred));
     892             :                         {
     893           0 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     894           0 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     895           0 :                                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_creds));
     896           0 :                                 ndr->flags = _flags_save_DATA_BLOB;
     897             :                         }
     898           0 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     899             :                 }
     900           0 :                 if (ndr_flags & NDR_BUFFERS) {
     901           0 :                 }
     902           0 :                 ndr->flags = _flags_save_STRUCT;
     903             :         }
     904           0 :         return NDR_ERR_SUCCESS;
     905             : }
     906             : 
     907           0 : static void ndr_print_flags_MULTIPLE_CREDENTIALS(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct MULTIPLE_CREDENTIALS *r)
     908             : {
     909           0 :         ndr_print_MULTIPLE_CREDENTIALS(ndr, name, r);
     910           0 : }
     911             : 
     912           0 : _PUBLIC_ void ndr_print_MULTIPLE_CREDENTIALS(struct ndr_print *ndr, const char *name, const struct MULTIPLE_CREDENTIALS *r)
     913             : {
     914           0 :         ndr_print_struct(ndr, name, "MULTIPLE_CREDENTIALS");
     915           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     916             :         {
     917           0 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
     918           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
     919           0 :                 ndr->depth++;
     920           0 :                 ndr_print_CREDENTIAL(ndr, "cred", &r->cred);
     921             :                 {
     922           0 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
     923           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
     924           0 :                         ndr_print_DATA_BLOB(ndr, "further_creds", r->further_creds);
     925           0 :                         ndr->flags = _flags_save_DATA_BLOB;
     926             :                 }
     927           0 :                 ndr->depth--;
     928           0 :                 ndr->flags = _flags_save_STRUCT;
     929             :         }
     930             : }
     931             : 
     932           0 : static enum ndr_err_code ndr_push_KEYTAB_KEYBLOCK(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYTAB_KEYBLOCK *r)
     933             : {
     934           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     935           0 :         if (ndr_flags & NDR_SCALARS) {
     936           0 :                 NDR_CHECK(ndr_push_align(ndr, 2));
     937           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
     938           0 :                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
     939           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
     940             :         }
     941           0 :         if (ndr_flags & NDR_BUFFERS) {
     942           0 :         }
     943           0 :         return NDR_ERR_SUCCESS;
     944             : }
     945             : 
     946         185 : static enum ndr_err_code ndr_pull_KEYTAB_KEYBLOCK(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYTAB_KEYBLOCK *r)
     947             : {
     948         185 :         uint32_t size_data_0 = 0;
     949         185 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     950         185 :         if (ndr_flags & NDR_SCALARS) {
     951         185 :                 NDR_CHECK(ndr_pull_align(ndr, 2));
     952         185 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
     953         185 :                 size_data_0 = r->length;
     954         185 :                 NDR_PULL_ALLOC_N(ndr, r->data, size_data_0);
     955         185 :                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
     956         185 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
     957             :         }
     958         185 :         if (ndr_flags & NDR_BUFFERS) {
     959           1 :         }
     960         185 :         return NDR_ERR_SUCCESS;
     961             : }
     962             : 
     963           1 : _PUBLIC_ void ndr_print_KEYTAB_KEYBLOCK(struct ndr_print *ndr, const char *name, const struct KEYTAB_KEYBLOCK *r)
     964             : {
     965           1 :         ndr_print_struct(ndr, name, "KEYTAB_KEYBLOCK");
     966           1 :         if (r == NULL) { ndr_print_null(ndr); return; }
     967           1 :         ndr->depth++;
     968           1 :         ndr_print_uint16(ndr, "length", r->length);
     969           1 :         ndr_print_array_uint8(ndr, "data", r->data, r->length);
     970           1 :         ndr->depth--;
     971             : }
     972             : 
     973           0 : static enum ndr_err_code ndr_push_KEYTAB_PRINCIPAL(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYTAB_PRINCIPAL *r)
     974             : {
     975           0 :         uint32_t cntr_components_0;
     976           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     977           0 :         if (ndr_flags & NDR_SCALARS) {
     978           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     979           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->component_count));
     980             :                 {
     981           0 :                         libndr_flags _flags_save_string = ndr->flags;
     982           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
     983           0 :                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->realm));
     984           0 :                         ndr->flags = _flags_save_string;
     985             :                 }
     986             :                 {
     987           0 :                         libndr_flags _flags_save_string = ndr->flags;
     988           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
     989           0 :                         for (cntr_components_0 = 0; cntr_components_0 < (r->component_count); cntr_components_0++) {
     990           0 :                                 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->components[cntr_components_0]));
     991             :                         }
     992           0 :                         ndr->flags = _flags_save_string;
     993             :                 }
     994           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->name_type));
     995           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     996             :         }
     997           0 :         if (ndr_flags & NDR_BUFFERS) {
     998           0 :         }
     999           0 :         return NDR_ERR_SUCCESS;
    1000             : }
    1001             : 
    1002         185 : static enum ndr_err_code ndr_pull_KEYTAB_PRINCIPAL(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYTAB_PRINCIPAL *r)
    1003             : {
    1004         185 :         uint32_t size_components_0 = 0;
    1005           1 :         uint32_t cntr_components_0;
    1006         185 :         TALLOC_CTX *_mem_save_components_0 = NULL;
    1007         185 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1008         185 :         if (ndr_flags & NDR_SCALARS) {
    1009         185 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    1010         185 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->component_count));
    1011             :                 {
    1012         185 :                         libndr_flags _flags_save_string = ndr->flags;
    1013         185 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
    1014         185 :                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->realm));
    1015         185 :                         ndr->flags = _flags_save_string;
    1016             :                 }
    1017             :                 {
    1018         185 :                         libndr_flags _flags_save_string = ndr->flags;
    1019         185 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
    1020         185 :                         size_components_0 = r->component_count;
    1021         185 :                         NDR_PULL_ALLOC_N(ndr, r->components, size_components_0);
    1022         185 :                         _mem_save_components_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1023         185 :                         NDR_PULL_SET_MEM_CTX(ndr, r->components, 0);
    1024         371 :                         for (cntr_components_0 = 0; cntr_components_0 < (size_components_0); cntr_components_0++) {
    1025         186 :                                 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->components[cntr_components_0]));
    1026             :                         }
    1027         185 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_components_0, 0);
    1028         185 :                         ndr->flags = _flags_save_string;
    1029             :                 }
    1030         185 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->name_type));
    1031         185 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1032             :         }
    1033         185 :         if (ndr_flags & NDR_BUFFERS) {
    1034           1 :         }
    1035         185 :         return NDR_ERR_SUCCESS;
    1036             : }
    1037             : 
    1038           1 : _PUBLIC_ void ndr_print_KEYTAB_PRINCIPAL(struct ndr_print *ndr, const char *name, const struct KEYTAB_PRINCIPAL *r)
    1039             : {
    1040           1 :         uint32_t cntr_components_0;
    1041           1 :         ndr_print_struct(ndr, name, "KEYTAB_PRINCIPAL");
    1042           1 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1043           1 :         ndr->depth++;
    1044           1 :         ndr_print_uint16(ndr, "component_count", r->component_count);
    1045             :         {
    1046           1 :                 libndr_flags _flags_save_string = ndr->flags;
    1047           1 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
    1048           1 :                 ndr_print_string(ndr, "realm", r->realm);
    1049           1 :                 ndr->flags = _flags_save_string;
    1050             :         }
    1051             :         {
    1052           1 :                 libndr_flags _flags_save_string = ndr->flags;
    1053           1 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
    1054           1 :                 ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "components", (uint32_t)(r->component_count));
    1055           1 :                 ndr->depth++;
    1056           3 :                 for (cntr_components_0 = 0; cntr_components_0 < (r->component_count); cntr_components_0++) {
    1057           2 :                         ndr_print_string(ndr, "components", r->components[cntr_components_0]);
    1058             :                 }
    1059           1 :                 ndr->depth--;
    1060           1 :                 ndr->flags = _flags_save_string;
    1061             :         }
    1062           1 :         ndr_print_uint32(ndr, "name_type", r->name_type);
    1063           1 :         ndr->depth--;
    1064             : }
    1065             : 
    1066           0 : static enum ndr_err_code ndr_push_KEYTAB_ENTRY(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYTAB_ENTRY *r)
    1067             : {
    1068           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1069           0 :         if (ndr_flags & NDR_SCALARS) {
    1070           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    1071           0 :                 NDR_CHECK(ndr_push_KEYTAB_PRINCIPAL(ndr, NDR_SCALARS, &r->principal));
    1072           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timestamp));
    1073           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->key_version));
    1074           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->enctype));
    1075           0 :                 NDR_CHECK(ndr_push_KEYTAB_KEYBLOCK(ndr, NDR_SCALARS, &r->key));
    1076           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->full_key_version));
    1077           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1078             :         }
    1079           0 :         if (ndr_flags & NDR_BUFFERS) {
    1080           0 :         }
    1081           0 :         return NDR_ERR_SUCCESS;
    1082             : }
    1083             : 
    1084         185 : static enum ndr_err_code ndr_pull_KEYTAB_ENTRY(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYTAB_ENTRY *r)
    1085             : {
    1086         185 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1087         185 :         if (ndr_flags & NDR_SCALARS) {
    1088         185 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    1089         185 :                 NDR_CHECK(ndr_pull_KEYTAB_PRINCIPAL(ndr, NDR_SCALARS, &r->principal));
    1090         185 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timestamp));
    1091         185 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->key_version));
    1092         185 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->enctype));
    1093         185 :                 NDR_CHECK(ndr_pull_KEYTAB_KEYBLOCK(ndr, NDR_SCALARS, &r->key));
    1094         185 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->full_key_version));
    1095         185 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1096             :         }
    1097         185 :         if (ndr_flags & NDR_BUFFERS) {
    1098           1 :         }
    1099         185 :         return NDR_ERR_SUCCESS;
    1100             : }
    1101             : 
    1102           1 : _PUBLIC_ void ndr_print_KEYTAB_ENTRY(struct ndr_print *ndr, const char *name, const struct KEYTAB_ENTRY *r)
    1103             : {
    1104           1 :         ndr_print_struct(ndr, name, "KEYTAB_ENTRY");
    1105           1 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1106           1 :         ndr->depth++;
    1107           1 :         ndr_print_KEYTAB_PRINCIPAL(ndr, "principal", &r->principal);
    1108           1 :         ndr_print_uint32(ndr, "timestamp", r->timestamp);
    1109           1 :         ndr_print_uint8(ndr, "key_version", r->key_version);
    1110           1 :         ndr_print_uint16(ndr, "enctype", r->enctype);
    1111           1 :         ndr_print_KEYTAB_KEYBLOCK(ndr, "key", &r->key);
    1112           1 :         ndr_print_uint32(ndr, "full_key_version", r->full_key_version);
    1113           1 :         ndr->depth--;
    1114             : }
    1115             : 
    1116           0 : _PUBLIC_ enum ndr_err_code ndr_push_KEYTAB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYTAB *r)
    1117             : {
    1118             :         {
    1119           0 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
    1120           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
    1121           0 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1122           0 :                 if (ndr_flags & NDR_SCALARS) {
    1123           0 :                         NDR_CHECK(ndr_push_align(ndr, 4));
    1124           0 :                         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 5));
    1125           0 :                         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 2));
    1126             :                         {
    1127           0 :                                 struct ndr_push *_ndr_entry;
    1128           0 :                                 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_entry, 4, -1));
    1129           0 :                                 NDR_CHECK(ndr_push_KEYTAB_ENTRY(_ndr_entry, NDR_SCALARS, &r->entry));
    1130           0 :                                 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_entry, 4, -1));
    1131             :                         }
    1132             :                         {
    1133           0 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1134           0 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1135           0 :                                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_entry));
    1136           0 :                                 ndr->flags = _flags_save_DATA_BLOB;
    1137             :                         }
    1138           0 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1139             :                 }
    1140           0 :                 if (ndr_flags & NDR_BUFFERS) {
    1141           0 :                 }
    1142           0 :                 ndr->flags = _flags_save_STRUCT;
    1143             :         }
    1144           0 :         return NDR_ERR_SUCCESS;
    1145             : }
    1146             : 
    1147          17 : _PUBLIC_ enum ndr_err_code ndr_pull_KEYTAB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYTAB *r)
    1148             : {
    1149             :         {
    1150          17 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
    1151          17 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
    1152          17 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1153          17 :                 if (ndr_flags & NDR_SCALARS) {
    1154          17 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
    1155          17 :                         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pvno));
    1156          17 :                         if (r->pvno < 5 || r->pvno > 5) {
    1157           0 :                                 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value (%"PRIu8") out of range (%"PRIu8" - %"PRIu8")", (uint8_t)(r->pvno), (uint8_t)(5), (uint8_t)(5));
    1158             :                         }
    1159          17 :                         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version));
    1160          17 :                         if (r->version < 2 || r->version > 2) {
    1161           0 :                                 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value (%"PRIu8") out of range (%"PRIu8" - %"PRIu8")", (uint8_t)(r->version), (uint8_t)(2), (uint8_t)(2));
    1162             :                         }
    1163             :                         {
    1164           1 :                                 struct ndr_pull *_ndr_entry;
    1165          17 :                                 ssize_t sub_size = -1;
    1166          17 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_entry, 4, sub_size));
    1167          17 :                                 NDR_CHECK(ndr_pull_KEYTAB_ENTRY(_ndr_entry, NDR_SCALARS, &r->entry));
    1168          17 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_entry, 4, sub_size));
    1169             :                         }
    1170             :                         {
    1171          17 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1172          17 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1173          17 :                                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_entry));
    1174          17 :                                 ndr->flags = _flags_save_DATA_BLOB;
    1175             :                         }
    1176          17 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1177             :                 }
    1178          17 :                 if (ndr_flags & NDR_BUFFERS) {
    1179           1 :                 }
    1180          17 :                 ndr->flags = _flags_save_STRUCT;
    1181             :         }
    1182          17 :         return NDR_ERR_SUCCESS;
    1183             : }
    1184             : 
    1185           1 : static void ndr_print_flags_KEYTAB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct KEYTAB *r)
    1186             : {
    1187           1 :         ndr_print_KEYTAB(ndr, name, r);
    1188           1 : }
    1189             : 
    1190           1 : _PUBLIC_ void ndr_print_KEYTAB(struct ndr_print *ndr, const char *name, const struct KEYTAB *r)
    1191             : {
    1192           1 :         ndr_print_struct(ndr, name, "KEYTAB");
    1193           1 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1194             :         {
    1195           1 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
    1196           1 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
    1197           1 :                 ndr->depth++;
    1198           1 :                 ndr_print_uint8(ndr, "pvno", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?5:r->pvno);
    1199           1 :                 ndr_print_uint8(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
    1200           1 :                 ndr_print_KEYTAB_ENTRY(ndr, "entry", &r->entry);
    1201             :                 {
    1202           1 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1203           1 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1204           1 :                         ndr_print_DATA_BLOB(ndr, "further_entry", r->further_entry);
    1205           1 :                         ndr->flags = _flags_save_DATA_BLOB;
    1206             :                 }
    1207           1 :                 ndr->depth--;
    1208           1 :                 ndr->flags = _flags_save_STRUCT;
    1209             :         }
    1210             : }
    1211             : 
    1212           0 : _PUBLIC_ enum ndr_err_code ndr_push_MULTIPLE_KEYTAB_ENTRIES(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct MULTIPLE_KEYTAB_ENTRIES *r)
    1213             : {
    1214             :         {
    1215           0 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
    1216           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
    1217           0 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1218           0 :                 if (ndr_flags & NDR_SCALARS) {
    1219           0 :                         NDR_CHECK(ndr_push_align(ndr, 4));
    1220             :                         {
    1221           0 :                                 struct ndr_push *_ndr_entry;
    1222           0 :                                 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_entry, 4, -1));
    1223           0 :                                 NDR_CHECK(ndr_push_KEYTAB_ENTRY(_ndr_entry, NDR_SCALARS, &r->entry));
    1224           0 :                                 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_entry, 4, -1));
    1225             :                         }
    1226             :                         {
    1227           0 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1228           0 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1229           0 :                                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_entry));
    1230           0 :                                 ndr->flags = _flags_save_DATA_BLOB;
    1231             :                         }
    1232           0 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1233             :                 }
    1234           0 :                 if (ndr_flags & NDR_BUFFERS) {
    1235           0 :                 }
    1236           0 :                 ndr->flags = _flags_save_STRUCT;
    1237             :         }
    1238           0 :         return NDR_ERR_SUCCESS;
    1239             : }
    1240             : 
    1241         168 : _PUBLIC_ enum ndr_err_code ndr_pull_MULTIPLE_KEYTAB_ENTRIES(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct MULTIPLE_KEYTAB_ENTRIES *r)
    1242             : {
    1243             :         {
    1244         168 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
    1245         168 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
    1246         168 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1247         168 :                 if (ndr_flags & NDR_SCALARS) {
    1248         168 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
    1249             :                         {
    1250           0 :                                 struct ndr_pull *_ndr_entry;
    1251         168 :                                 ssize_t sub_size = -1;
    1252         168 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_entry, 4, sub_size));
    1253         168 :                                 NDR_CHECK(ndr_pull_KEYTAB_ENTRY(_ndr_entry, NDR_SCALARS, &r->entry));
    1254         168 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_entry, 4, sub_size));
    1255             :                         }
    1256             :                         {
    1257         168 :                                 libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1258         168 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1259         168 :                                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_entry));
    1260         168 :                                 ndr->flags = _flags_save_DATA_BLOB;
    1261             :                         }
    1262         168 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1263             :                 }
    1264         168 :                 if (ndr_flags & NDR_BUFFERS) {
    1265           0 :                 }
    1266         168 :                 ndr->flags = _flags_save_STRUCT;
    1267             :         }
    1268         168 :         return NDR_ERR_SUCCESS;
    1269             : }
    1270             : 
    1271           0 : static void ndr_print_flags_MULTIPLE_KEYTAB_ENTRIES(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct MULTIPLE_KEYTAB_ENTRIES *r)
    1272             : {
    1273           0 :         ndr_print_MULTIPLE_KEYTAB_ENTRIES(ndr, name, r);
    1274           0 : }
    1275             : 
    1276           0 : _PUBLIC_ void ndr_print_MULTIPLE_KEYTAB_ENTRIES(struct ndr_print *ndr, const char *name, const struct MULTIPLE_KEYTAB_ENTRIES *r)
    1277             : {
    1278           0 :         ndr_print_struct(ndr, name, "MULTIPLE_KEYTAB_ENTRIES");
    1279           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1280             :         {
    1281           0 :                 libndr_flags _flags_save_STRUCT = ndr->flags;
    1282           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
    1283           0 :                 ndr->depth++;
    1284           0 :                 ndr_print_KEYTAB_ENTRY(ndr, "entry", &r->entry);
    1285             :                 {
    1286           0 :                         libndr_flags _flags_save_DATA_BLOB = ndr->flags;
    1287           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    1288           0 :                         ndr_print_DATA_BLOB(ndr, "further_entry", r->further_entry);
    1289           0 :                         ndr->flags = _flags_save_DATA_BLOB;
    1290             :                 }
    1291           0 :                 ndr->depth--;
    1292           0 :                 ndr->flags = _flags_save_STRUCT;
    1293             :         }
    1294             : }
    1295             : 
    1296             : #ifndef SKIP_NDR_TABLE_krb5ccache
    1297             : static const struct ndr_interface_public_struct krb5ccache_public_structs[] = {
    1298             :         {
    1299             :                 .name = "CCACHE",
    1300             :                 .struct_size = sizeof(struct CCACHE ),
    1301             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_CCACHE,
    1302             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_CCACHE,
    1303             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_CCACHE,
    1304             :         },
    1305             :         {
    1306             :                 .name = "MULTIPLE_CREDENTIALS",
    1307             :                 .struct_size = sizeof(struct MULTIPLE_CREDENTIALS ),
    1308             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_MULTIPLE_CREDENTIALS,
    1309             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_MULTIPLE_CREDENTIALS,
    1310             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_MULTIPLE_CREDENTIALS,
    1311             :         },
    1312             :         {
    1313             :                 .name = "KEYTAB",
    1314             :                 .struct_size = sizeof(struct KEYTAB ),
    1315             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_KEYTAB,
    1316             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_KEYTAB,
    1317             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_KEYTAB,
    1318             :         },
    1319             :         {
    1320             :                 .name = "MULTIPLE_KEYTAB_ENTRIES",
    1321             :                 .struct_size = sizeof(struct MULTIPLE_KEYTAB_ENTRIES ),
    1322             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_MULTIPLE_KEYTAB_ENTRIES,
    1323             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_MULTIPLE_KEYTAB_ENTRIES,
    1324             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_MULTIPLE_KEYTAB_ENTRIES,
    1325             :         },
    1326             :         { .name = NULL }
    1327             : };
    1328             : 
    1329             : static const struct ndr_interface_call krb5ccache_calls[] = {
    1330             :         { .name = NULL }
    1331             : };
    1332             : 
    1333             : static const char * const krb5ccache_endpoint_strings[] = {
    1334             :         "ncacn_np:[\\pipe\\krb5ccache]", 
    1335             : };
    1336             : 
    1337             : static const struct ndr_interface_string_array krb5ccache_endpoints = {
    1338             :         .count  = 1,
    1339             :         .names  = krb5ccache_endpoint_strings
    1340             : };
    1341             : 
    1342             : static const char * const krb5ccache_authservice_strings[] = {
    1343             :         "host", 
    1344             : };
    1345             : 
    1346             : static const struct ndr_interface_string_array krb5ccache_authservices = {
    1347             :         .count  = 1,
    1348             :         .names  = krb5ccache_authservice_strings
    1349             : };
    1350             : 
    1351             : 
    1352             : const struct ndr_interface_table ndr_table_krb5ccache = {
    1353             :         .name           = "krb5ccache",
    1354             :         .syntax_id      = {
    1355             :                 {0x1702b695,0x99ca,0x4f32,{0x93,0xe4},{0x1e,0x1c,0x4d,0x5d,0xdb,0x53}},
    1356             :                 NDR_KRB5CCACHE_VERSION
    1357             :         },
    1358             :         .helpstring     = NDR_KRB5CCACHE_HELPSTRING,
    1359             :         .num_calls      = 0,
    1360             :         .calls          = krb5ccache_calls,
    1361             :         .num_public_structs     = 4,
    1362             :         .public_structs         = krb5ccache_public_structs,
    1363             :         .endpoints      = &krb5ccache_endpoints,
    1364             :         .authservices   = &krb5ccache_authservices
    1365             : };
    1366             : 
    1367             : #endif /* SKIP_NDR_TABLE_krb5ccache */

Generated by: LCOV version 1.14