LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_security.c (source / functions) Hit Total Coverage
Test: coverage report for v4-17-test 1498b464 Lines: 684 900 76.0 %
Date: 2024-06-13 04:01:37 Functions: 56 77 72.7 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_security.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_misc.h"
       7           0 : static void ndr_print_flags_dom_sid(struct ndr_print *ndr, const char *name, int unused, const struct dom_sid *r)
       8             : {
       9           0 :         ndr_print_dom_sid(ndr, name, r);
      10           0 : }
      11             : 
      12       60946 : static enum ndr_err_code ndr_push_se_privilege(struct ndr_push *ndr, int ndr_flags, uint64_t r)
      13             : {
      14       60946 :         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r));
      15       60946 :         return NDR_ERR_SUCCESS;
      16             : }
      17             : 
      18       47365 : static enum ndr_err_code ndr_pull_se_privilege(struct ndr_pull *ndr, int ndr_flags, uint64_t *r)
      19             : {
      20             :         uint64_t v;
      21       47365 :         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &v));
      22       47365 :         *r = v;
      23       47365 :         return NDR_ERR_SUCCESS;
      24             : }
      25             : 
      26           0 : _PUBLIC_ void ndr_print_se_privilege(struct ndr_print *ndr, const char *name, uint64_t r)
      27             : {
      28           0 :         ndr_print_hyper(ndr, name, r);
      29           0 :         ndr->depth++;
      30           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_MACHINE_ACCOUNT_BIT", SEC_PRIV_MACHINE_ACCOUNT_BIT, r);
      31           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_PRINT_OPERATOR_BIT", SEC_PRIV_PRINT_OPERATOR_BIT, r);
      32           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_ADD_USERS_BIT", SEC_PRIV_ADD_USERS_BIT, r);
      33           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_DISK_OPERATOR_BIT", SEC_PRIV_DISK_OPERATOR_BIT, r);
      34           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_REMOTE_SHUTDOWN_BIT", SEC_PRIV_REMOTE_SHUTDOWN_BIT, r);
      35           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_BACKUP_BIT", SEC_PRIV_BACKUP_BIT, r);
      36           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_RESTORE_BIT", SEC_PRIV_RESTORE_BIT, r);
      37           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_TAKE_OWNERSHIP_BIT", SEC_PRIV_TAKE_OWNERSHIP_BIT, r);
      38           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_INCREASE_QUOTA_BIT", SEC_PRIV_INCREASE_QUOTA_BIT, r);
      39           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SECURITY_BIT", SEC_PRIV_SECURITY_BIT, r);
      40           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_LOAD_DRIVER_BIT", SEC_PRIV_LOAD_DRIVER_BIT, r);
      41           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEM_PROFILE_BIT", SEC_PRIV_SYSTEM_PROFILE_BIT, r);
      42           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEMTIME_BIT", SEC_PRIV_SYSTEMTIME_BIT, r);
      43           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_PROFILE_SINGLE_PROCESS_BIT", SEC_PRIV_PROFILE_SINGLE_PROCESS_BIT, r);
      44           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_INCREASE_BASE_PRIORITY_BIT", SEC_PRIV_INCREASE_BASE_PRIORITY_BIT, r);
      45           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CREATE_PAGEFILE_BIT", SEC_PRIV_CREATE_PAGEFILE_BIT, r);
      46           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SHUTDOWN_BIT", SEC_PRIV_SHUTDOWN_BIT, r);
      47           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_DEBUG_BIT", SEC_PRIV_DEBUG_BIT, r);
      48           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEM_ENVIRONMENT_BIT", SEC_PRIV_SYSTEM_ENVIRONMENT_BIT, r);
      49           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CHANGE_NOTIFY_BIT", SEC_PRIV_CHANGE_NOTIFY_BIT, r);
      50           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_UNDOCK_BIT", SEC_PRIV_UNDOCK_BIT, r);
      51           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_ENABLE_DELEGATION_BIT", SEC_PRIV_ENABLE_DELEGATION_BIT, r);
      52           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_MANAGE_VOLUME_BIT", SEC_PRIV_MANAGE_VOLUME_BIT, r);
      53           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_IMPERSONATE_BIT", SEC_PRIV_IMPERSONATE_BIT, r);
      54           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CREATE_GLOBAL_BIT", SEC_PRIV_CREATE_GLOBAL_BIT, r);
      55           0 :         ndr->depth--;
      56           0 : }
      57             : 
      58       60946 : static enum ndr_err_code ndr_push_lsa_SystemAccessModeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
      59             : {
      60       60946 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
      61       60946 :         return NDR_ERR_SUCCESS;
      62             : }
      63             : 
      64       47365 : static enum ndr_err_code ndr_pull_lsa_SystemAccessModeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
      65             : {
      66             :         uint32_t v;
      67       47365 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
      68       47365 :         *r = v;
      69       47365 :         return NDR_ERR_SUCCESS;
      70             : }
      71             : 
      72           0 : _PUBLIC_ void ndr_print_lsa_SystemAccessModeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
      73             : {
      74           0 :         ndr_print_uint32(ndr, name, r);
      75           0 :         ndr->depth++;
      76           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_INTERACTIVE", LSA_POLICY_MODE_INTERACTIVE, r);
      77           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_NETWORK", LSA_POLICY_MODE_NETWORK, r);
      78           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_BATCH", LSA_POLICY_MODE_BATCH, r);
      79           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_SERVICE", LSA_POLICY_MODE_SERVICE, r);
      80           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_PROXY", LSA_POLICY_MODE_PROXY, r);
      81           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_INTERACTIVE", LSA_POLICY_MODE_DENY_INTERACTIVE, r);
      82           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_NETWORK", LSA_POLICY_MODE_DENY_NETWORK, r);
      83           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_BATCH", LSA_POLICY_MODE_DENY_BATCH, r);
      84           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_SERVICE", LSA_POLICY_MODE_DENY_SERVICE, r);
      85           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_REMOTE_INTERACTIVE", LSA_POLICY_MODE_REMOTE_INTERACTIVE, r);
      86           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE", LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE, r);
      87           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_ALL", LSA_POLICY_MODE_ALL, r);
      88           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_ALL_NT4", LSA_POLICY_MODE_ALL_NT4, r);
      89           0 :         ndr->depth--;
      90           0 : }
      91             : 
      92    22241440 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r)
      93             : {
      94    22241440 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
      95    22241440 :         return NDR_ERR_SUCCESS;
      96             : }
      97             : 
      98   114398726 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_flags(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
      99             : {
     100             :         uint8_t v;
     101   114398726 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
     102   114398726 :         *r = v;
     103   114398726 :         return NDR_ERR_SUCCESS;
     104             : }
     105             : 
     106         346 : _PUBLIC_ void ndr_print_security_ace_flags(struct ndr_print *ndr, const char *name, uint8_t r)
     107             : {
     108         346 :         ndr_print_uint8(ndr, name, r);
     109         346 :         ndr->depth++;
     110         346 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_OBJECT_INHERIT", SEC_ACE_FLAG_OBJECT_INHERIT, r);
     111         346 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_CONTAINER_INHERIT", SEC_ACE_FLAG_CONTAINER_INHERIT, r);
     112         346 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_NO_PROPAGATE_INHERIT", SEC_ACE_FLAG_NO_PROPAGATE_INHERIT, r);
     113         346 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERIT_ONLY", SEC_ACE_FLAG_INHERIT_ONLY, r);
     114         346 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERITED_ACE", SEC_ACE_FLAG_INHERITED_ACE, r);
     115         346 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_VALID_INHERIT", SEC_ACE_FLAG_VALID_INHERIT, r);
     116         346 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_SUCCESSFUL_ACCESS", SEC_ACE_FLAG_SUCCESSFUL_ACCESS, r);
     117         346 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_FAILED_ACCESS", SEC_ACE_FLAG_FAILED_ACCESS, r);
     118         346 :         ndr->depth--;
     119         346 : }
     120             : 
     121    22241440 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_type(struct ndr_push *ndr, int ndr_flags, enum security_ace_type r)
     122             : {
     123    22241440 :         NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
     124    22241440 :         return NDR_ERR_SUCCESS;
     125             : }
     126             : 
     127   114398726 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_type(struct ndr_pull *ndr, int ndr_flags, enum security_ace_type *r)
     128             : {
     129             :         uint8_t v;
     130   114398726 :         NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
     131   114398726 :         *r = v;
     132   114398726 :         return NDR_ERR_SUCCESS;
     133             : }
     134             : 
     135         346 : _PUBLIC_ void ndr_print_security_ace_type(struct ndr_print *ndr, const char *name, enum security_ace_type r)
     136             : {
     137         346 :         const char *val = NULL;
     138             : 
     139         346 :         switch (r) {
     140         346 :                 case SEC_ACE_TYPE_ACCESS_ALLOWED: val = "SEC_ACE_TYPE_ACCESS_ALLOWED"; break;
     141           0 :                 case SEC_ACE_TYPE_ACCESS_DENIED: val = "SEC_ACE_TYPE_ACCESS_DENIED"; break;
     142           0 :                 case SEC_ACE_TYPE_SYSTEM_AUDIT: val = "SEC_ACE_TYPE_SYSTEM_AUDIT"; break;
     143           0 :                 case SEC_ACE_TYPE_SYSTEM_ALARM: val = "SEC_ACE_TYPE_SYSTEM_ALARM"; break;
     144           0 :                 case SEC_ACE_TYPE_ALLOWED_COMPOUND: val = "SEC_ACE_TYPE_ALLOWED_COMPOUND"; break;
     145           0 :                 case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: val = "SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT"; break;
     146           0 :                 case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: val = "SEC_ACE_TYPE_ACCESS_DENIED_OBJECT"; break;
     147           0 :                 case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: val = "SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT"; break;
     148           0 :                 case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: val = "SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT"; break;
     149             :         }
     150         346 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     151         346 : }
     152             : 
     153    10952062 : static enum ndr_err_code ndr_push_security_ace_object_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     154             : {
     155    10952062 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     156    10952062 :         return NDR_ERR_SUCCESS;
     157             : }
     158             : 
     159    74302725 : static enum ndr_err_code ndr_pull_security_ace_object_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     160             : {
     161             :         uint32_t v;
     162    74302725 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     163    74302725 :         *r = v;
     164    74302725 :         return NDR_ERR_SUCCESS;
     165             : }
     166             : 
     167           0 : _PUBLIC_ void ndr_print_security_ace_object_flags(struct ndr_print *ndr, const char *name, uint32_t r)
     168             : {
     169           0 :         ndr_print_uint32(ndr, name, r);
     170           0 :         ndr->depth++;
     171           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_ACE_OBJECT_TYPE_PRESENT", SEC_ACE_OBJECT_TYPE_PRESENT, r);
     172           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT", SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT, r);
     173           0 :         ndr->depth--;
     174           0 : }
     175             : 
     176    21904124 : static enum ndr_err_code ndr_push_security_ace_object_type(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_type *r)
     177             : {
     178             :         uint32_t level;
     179    21904124 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     180    21904124 :         if (ndr_flags & NDR_SCALARS) {
     181             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     182    10952062 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     183    10952062 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
     184    10952062 :                 switch (level) {
     185     9731299 :                         case SEC_ACE_OBJECT_TYPE_PRESENT: {
     186     9731299 :                                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->type));
     187     9731299 :                         break; }
     188             : 
     189     1220763 :                         default: {
     190     1220763 :                         break; }
     191             : 
     192             :                 }
     193    10326908 :         }
     194    21904124 :         return NDR_ERR_SUCCESS;
     195             : }
     196             : 
     197   148605450 : static enum ndr_err_code ndr_pull_security_ace_object_type(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_type *r)
     198             : {
     199             :         uint32_t level;
     200   148605450 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     201   148605450 :         if (ndr_flags & NDR_SCALARS) {
     202             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     203    74302725 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     204    74302725 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
     205    74302725 :                 switch (level) {
     206    67467890 :                         case SEC_ACE_OBJECT_TYPE_PRESENT: {
     207    67467890 :                                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->type));
     208    67467890 :                         break; }
     209             : 
     210     6834835 :                         default: {
     211     6834835 :                         break; }
     212             : 
     213             :                 }
     214    68173266 :         }
     215   148605450 :         return NDR_ERR_SUCCESS;
     216             : }
     217             : 
     218           0 : _PUBLIC_ void ndr_print_security_ace_object_type(struct ndr_print *ndr, const char *name, const union security_ace_object_type *r)
     219             : {
     220             :         uint32_t level;
     221           0 :         level = ndr_print_steal_switch_value(ndr, r);
     222           0 :         ndr_print_union(ndr, name, level, "security_ace_object_type");
     223           0 :         switch (level) {
     224           0 :                 case SEC_ACE_OBJECT_TYPE_PRESENT:
     225           0 :                         ndr_print_GUID(ndr, "type", &r->type);
     226           0 :                 break;
     227             : 
     228           0 :                 default:
     229           0 :                 break;
     230             : 
     231             :         }
     232           0 : }
     233             : 
     234    21904124 : static enum ndr_err_code ndr_push_security_ace_object_inherited_type(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_inherited_type *r)
     235             : {
     236             :         uint32_t level;
     237    21904124 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     238    21904124 :         if (ndr_flags & NDR_SCALARS) {
     239             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     240    10952062 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     241    10952062 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
     242    10952062 :                 switch (level) {
     243     7479275 :                         case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
     244     7479275 :                                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->inherited_type));
     245     7479275 :                         break; }
     246             : 
     247     3472787 :                         default: {
     248     3472787 :                         break; }
     249             : 
     250             :                 }
     251    10326908 :         }
     252    21904124 :         return NDR_ERR_SUCCESS;
     253             : }
     254             : 
     255   148605450 : static enum ndr_err_code ndr_pull_security_ace_object_inherited_type(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_inherited_type *r)
     256             : {
     257             :         uint32_t level;
     258   148605450 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     259   148605450 :         if (ndr_flags & NDR_SCALARS) {
     260             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     261    74302725 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     262    74302725 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
     263    74302725 :                 switch (level) {
     264    41843690 :                         case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
     265    41843690 :                                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->inherited_type));
     266    41843690 :                         break; }
     267             : 
     268    32459035 :                         default: {
     269    32459035 :                         break; }
     270             : 
     271             :                 }
     272    68173266 :         }
     273   148605450 :         return NDR_ERR_SUCCESS;
     274             : }
     275             : 
     276           0 : _PUBLIC_ void ndr_print_security_ace_object_inherited_type(struct ndr_print *ndr, const char *name, const union security_ace_object_inherited_type *r)
     277             : {
     278             :         uint32_t level;
     279           0 :         level = ndr_print_steal_switch_value(ndr, r);
     280           0 :         ndr_print_union(ndr, name, level, "security_ace_object_inherited_type");
     281           0 :         switch (level) {
     282           0 :                 case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT:
     283           0 :                         ndr_print_GUID(ndr, "inherited_type", &r->inherited_type);
     284           0 :                 break;
     285             : 
     286           0 :                 default:
     287           0 :                 break;
     288             : 
     289             :         }
     290           0 : }
     291             : 
     292    21904124 : static enum ndr_err_code ndr_push_security_ace_object(struct ndr_push *ndr, int ndr_flags, const struct security_ace_object *r)
     293             : {
     294    21904124 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     295    21904124 :         if (ndr_flags & NDR_SCALARS) {
     296    10952062 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     297    10952062 :                 NDR_CHECK(ndr_push_security_ace_object_flags(ndr, NDR_SCALARS, r->flags));
     298    10952062 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
     299    10952062 :                 NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
     300    10952062 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
     301    10952062 :                 NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
     302    10952062 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     303             :         }
     304    21904124 :         if (ndr_flags & NDR_BUFFERS) {
     305    10952062 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
     306    10952062 :                 NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
     307    10952062 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
     308    10952062 :                 NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
     309             :         }
     310    21904124 :         return NDR_ERR_SUCCESS;
     311             : }
     312             : 
     313   148605450 : static enum ndr_err_code ndr_pull_security_ace_object(struct ndr_pull *ndr, int ndr_flags, struct security_ace_object *r)
     314             : {
     315   148605450 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     316   148605450 :         if (ndr_flags & NDR_SCALARS) {
     317    74302725 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     318    74302725 :                 NDR_CHECK(ndr_pull_security_ace_object_flags(ndr, NDR_SCALARS, &r->flags));
     319    74302725 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
     320    74302725 :                 NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
     321    74302725 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
     322    74302725 :                 NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
     323    74302725 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     324             :         }
     325   148605450 :         if (ndr_flags & NDR_BUFFERS) {
     326    74302725 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
     327    74302725 :                 NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
     328    74302725 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
     329    74302725 :                 NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
     330             :         }
     331   148605450 :         return NDR_ERR_SUCCESS;
     332             : }
     333             : 
     334           0 : _PUBLIC_ void ndr_print_security_ace_object(struct ndr_print *ndr, const char *name, const struct security_ace_object *r)
     335             : {
     336           0 :         ndr_print_struct(ndr, name, "security_ace_object");
     337           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     338           0 :         ndr->depth++;
     339           0 :         ndr_print_security_ace_object_flags(ndr, "flags", r->flags);
     340           0 :         ndr_print_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT);
     341           0 :         ndr_print_security_ace_object_type(ndr, "type", &r->type);
     342           0 :         ndr_print_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT);
     343           0 :         ndr_print_security_ace_object_inherited_type(ndr, "inherited_type", &r->inherited_type);
     344           0 :         ndr->depth--;
     345             : }
     346             : 
     347    44482880 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_object_ctr(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_ctr *r)
     348             : {
     349             :         uint32_t level;
     350    44482880 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     351    44482880 :         if (ndr_flags & NDR_SCALARS) {
     352             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     353    22241440 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     354    22241440 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
     355    22241440 :                 switch (level) {
     356     9963060 :                         case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
     357     9963060 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
     358     9963060 :                         break; }
     359             : 
     360       10439 :                         case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
     361       10439 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
     362       10439 :                         break; }
     363             : 
     364      978563 :                         case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
     365      978563 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
     366      978563 :                         break; }
     367             : 
     368           0 :                         case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: {
     369           0 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
     370           0 :                         break; }
     371             : 
     372    11289378 :                         default: {
     373    11289378 :                         break; }
     374             : 
     375             :                 }
     376    20123447 :         }
     377    44482880 :         if (ndr_flags & NDR_BUFFERS) {
     378    22241440 :                 if (!(ndr_flags & NDR_SCALARS)) {
     379             :                         /* We didn't get it above, and the token is not needed after this. */
     380    22241440 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     381             :                 }
     382    22241440 :                 switch (level) {
     383     9963060 :                         case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
     384     9963060 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     385     9963060 :                         break;
     386             : 
     387       10439 :                         case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
     388       10439 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     389       10439 :                         break;
     390             : 
     391      978563 :                         case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
     392      978563 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     393      978563 :                         break;
     394             : 
     395           0 :                         case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
     396           0 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     397           0 :                         break;
     398             : 
     399    11289378 :                         default:
     400    11289378 :                         break;
     401             : 
     402             :                 }
     403    20123447 :         }
     404    44482880 :         return NDR_ERR_SUCCESS;
     405             : }
     406             : 
     407   228797452 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_object_ctr(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_ctr *r)
     408             : {
     409             :         uint32_t level;
     410   228797452 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     411   228797452 :         if (ndr_flags & NDR_SCALARS) {
     412             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     413   114398726 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     414   114398726 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
     415   114398726 :                 switch (level) {
     416    67532042 :                         case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
     417    67532042 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
     418    67532042 :                         break; }
     419             : 
     420       51953 :                         case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
     421       51953 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
     422       51953 :                         break; }
     423             : 
     424     6718730 :                         case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
     425     6718730 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
     426     6718730 :                         break; }
     427             : 
     428           0 :                         case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: {
     429           0 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
     430           0 :                         break; }
     431             : 
     432    40096001 :                         default: {
     433    40096001 :                         break; }
     434             : 
     435             :                 }
     436   102728794 :         }
     437   228797452 :         if (ndr_flags & NDR_BUFFERS) {
     438   114398726 :                 if (!(ndr_flags & NDR_SCALARS)) {
     439             :                         /* We didn't get it above, and the token is not needed after this. */
     440   114398726 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     441             :                 }
     442   114398726 :                 switch (level) {
     443    67532042 :                         case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
     444    67532042 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     445    67532042 :                         break;
     446             : 
     447       51953 :                         case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
     448       51953 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     449       51953 :                         break;
     450             : 
     451     6718730 :                         case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
     452     6718730 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     453     6718730 :                         break;
     454             : 
     455           0 :                         case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
     456           0 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     457           0 :                         break;
     458             : 
     459    40096001 :                         default:
     460    40096001 :                         break;
     461             : 
     462             :                 }
     463   102728794 :         }
     464   228797452 :         return NDR_ERR_SUCCESS;
     465             : }
     466             : 
     467         346 : _PUBLIC_ void ndr_print_security_ace_object_ctr(struct ndr_print *ndr, const char *name, const union security_ace_object_ctr *r)
     468             : {
     469             :         uint32_t level;
     470         346 :         level = ndr_print_steal_switch_value(ndr, r);
     471         346 :         ndr_print_union(ndr, name, level, "security_ace_object_ctr");
     472         346 :         switch (level) {
     473           0 :                 case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
     474           0 :                         ndr_print_security_ace_object(ndr, "object", &r->object);
     475           0 :                 break;
     476             : 
     477           0 :                 case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
     478           0 :                         ndr_print_security_ace_object(ndr, "object", &r->object);
     479           0 :                 break;
     480             : 
     481           0 :                 case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
     482           0 :                         ndr_print_security_ace_object(ndr, "object", &r->object);
     483           0 :                 break;
     484             : 
     485           0 :                 case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
     486           0 :                         ndr_print_security_ace_object(ndr, "object", &r->object);
     487           0 :                 break;
     488             : 
     489         346 :                 default:
     490         346 :                 break;
     491             : 
     492             :         }
     493         346 : }
     494             : 
     495    44482880 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace(struct ndr_push *ndr, int ndr_flags, const struct security_ace *r)
     496             : {
     497    44482880 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     498    44482880 :         if (ndr_flags & NDR_SCALARS) {
     499    22241440 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     500    22241440 :                 NDR_CHECK(ndr_push_security_ace_type(ndr, NDR_SCALARS, r->type));
     501    22241440 :                 NDR_CHECK(ndr_push_security_ace_flags(ndr, NDR_SCALARS, r->flags));
     502    22241440 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_ace(r, ndr->flags)));
     503    22241440 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->access_mask));
     504    22241440 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
     505    22241440 :                 NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_SCALARS, &r->object));
     506    22241440 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->trustee));
     507    22241440 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     508             :         }
     509    44482880 :         if (ndr_flags & NDR_BUFFERS) {
     510    22241440 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
     511    22241440 :                 NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_BUFFERS, &r->object));
     512             :         }
     513    44482880 :         return NDR_ERR_SUCCESS;
     514             : }
     515             : 
     516           0 : static void ndr_print_flags_security_ace(struct ndr_print *ndr, const char *name, int unused, const struct security_ace *r)
     517             : {
     518           0 :         ndr_print_security_ace(ndr, name, r);
     519           0 : }
     520             : 
     521         346 : _PUBLIC_ void ndr_print_security_ace(struct ndr_print *ndr, const char *name, const struct security_ace *r)
     522             : {
     523         346 :         ndr_print_struct(ndr, name, "security_ace");
     524         346 :         if (r == NULL) { ndr_print_null(ndr); return; }
     525         346 :         ndr->depth++;
     526         346 :         ndr_print_security_ace_type(ndr, "type", r->type);
     527         346 :         ndr_print_security_ace_flags(ndr, "flags", r->flags);
     528         346 :         ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_ace(r, ndr->flags):r->size);
     529         346 :         ndr_print_uint32(ndr, "access_mask", r->access_mask);
     530         346 :         ndr_print_set_switch_value(ndr, &r->object, r->type);
     531         346 :         ndr_print_security_ace_object_ctr(ndr, "object", &r->object);
     532         346 :         ndr_print_dom_sid(ndr, "trustee", &r->trustee);
     533         346 :         ndr->depth--;
     534             : }
     535             : 
     536     3214418 : static enum ndr_err_code ndr_push_security_acl_revision(struct ndr_push *ndr, int ndr_flags, enum security_acl_revision r)
     537             : {
     538     3214418 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
     539     3214418 :         return NDR_ERR_SUCCESS;
     540             : }
     541             : 
     542    10449426 : static enum ndr_err_code ndr_pull_security_acl_revision(struct ndr_pull *ndr, int ndr_flags, enum security_acl_revision *r)
     543             : {
     544             :         uint16_t v;
     545    10449426 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
     546    10449426 :         *r = v;
     547    10449426 :         return NDR_ERR_SUCCESS;
     548             : }
     549             : 
     550         319 : _PUBLIC_ void ndr_print_security_acl_revision(struct ndr_print *ndr, const char *name, enum security_acl_revision r)
     551             : {
     552         319 :         const char *val = NULL;
     553             : 
     554         319 :         switch (r) {
     555         319 :                 case SECURITY_ACL_REVISION_NT4: val = "SECURITY_ACL_REVISION_NT4"; break;
     556           0 :                 case SECURITY_ACL_REVISION_ADS: val = "SECURITY_ACL_REVISION_ADS"; break;
     557             :         }
     558         319 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     559         319 : }
     560             : 
     561     3214418 : _PUBLIC_ enum ndr_err_code ndr_push_security_acl(struct ndr_push *ndr, int ndr_flags, const struct security_acl *r)
     562             : {
     563             :         uint32_t cntr_aces_0;
     564     3214418 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     565     3214418 :         if (ndr_flags & NDR_SCALARS) {
     566     3214418 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     567     3214418 :                 NDR_CHECK(ndr_push_security_acl_revision(ndr, NDR_SCALARS, r->revision));
     568     3214418 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_acl(r, ndr->flags)));
     569     3214418 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aces));
     570    25455858 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
     571    22241440 :                         NDR_CHECK(ndr_push_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
     572             :                 }
     573     3214418 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     574             :         }
     575     3214418 :         if (ndr_flags & NDR_BUFFERS) {
     576    25455858 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
     577    22241440 :                         NDR_CHECK(ndr_push_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
     578             :                 }
     579             :         }
     580     3214418 :         return NDR_ERR_SUCCESS;
     581             : }
     582             : 
     583    10449426 : _PUBLIC_ enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r)
     584             : {
     585    10449426 :         uint32_t size_aces_0 = 0;
     586             :         uint32_t cntr_aces_0;
     587    10449426 :         TALLOC_CTX *_mem_save_aces_0 = NULL;
     588    10449426 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     589    10449426 :         if (ndr_flags & NDR_SCALARS) {
     590    10449426 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     591    10449426 :                 NDR_CHECK(ndr_pull_security_acl_revision(ndr, NDR_SCALARS, &r->revision));
     592    10449426 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
     593    10449426 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aces));
     594    10449426 :                 if (r->num_aces > 2000) {
     595           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
     596             :                 }
     597    10449426 :                 size_aces_0 = r->num_aces;
     598    10449426 :                 NDR_PULL_ALLOC_N(ndr, r->aces, size_aces_0);
     599    10449426 :                 _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
     600    10449426 :                 NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
     601   124848152 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
     602   114398726 :                         NDR_CHECK(ndr_pull_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
     603             :                 }
     604    10449426 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
     605    10449426 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     606             :         }
     607    10449426 :         if (ndr_flags & NDR_BUFFERS) {
     608    10449426 :                 size_aces_0 = r->num_aces;
     609    10449426 :                 _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
     610    10449426 :                 NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
     611   124848152 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
     612   114398726 :                         NDR_CHECK(ndr_pull_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
     613             :                 }
     614    10449426 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
     615    22119358 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
     616             :                 }
     617             :         }
     618    10449426 :         return NDR_ERR_SUCCESS;
     619             : }
     620             : 
     621           0 : static void ndr_print_flags_security_acl(struct ndr_print *ndr, const char *name, int unused, const struct security_acl *r)
     622             : {
     623           0 :         ndr_print_security_acl(ndr, name, r);
     624           0 : }
     625             : 
     626         319 : _PUBLIC_ void ndr_print_security_acl(struct ndr_print *ndr, const char *name, const struct security_acl *r)
     627             : {
     628             :         uint32_t cntr_aces_0;
     629         319 :         ndr_print_struct(ndr, name, "security_acl");
     630         319 :         if (r == NULL) { ndr_print_null(ndr); return; }
     631         319 :         ndr->depth++;
     632         319 :         ndr_print_security_acl_revision(ndr, "revision", r->revision);
     633         319 :         ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_acl(r, ndr->flags):r->size);
     634         319 :         ndr_print_uint32(ndr, "num_aces", r->num_aces);
     635         319 :         ndr->print(ndr, "%s: ARRAY(%d)", "aces", (int)r->num_aces);
     636         319 :         ndr->depth++;
     637         665 :         for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
     638         346 :                 ndr_print_security_ace(ndr, "aces", &r->aces[cntr_aces_0]);
     639             :         }
     640         319 :         ndr->depth--;
     641         319 :         ndr->depth--;
     642             : }
     643             : 
     644     1964129 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r)
     645             : {
     646     1964129 :         NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
     647     1964129 :         return NDR_ERR_SUCCESS;
     648             : }
     649             : 
     650     6018968 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_revision(struct ndr_pull *ndr, int ndr_flags, enum security_descriptor_revision *r)
     651             : {
     652             :         uint8_t v;
     653     6018968 :         NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
     654     6018968 :         *r = v;
     655     6018968 :         return NDR_ERR_SUCCESS;
     656             : }
     657             : 
     658         327 : _PUBLIC_ void ndr_print_security_descriptor_revision(struct ndr_print *ndr, const char *name, enum security_descriptor_revision r)
     659             : {
     660         327 :         const char *val = NULL;
     661             : 
     662         327 :         switch (r) {
     663         327 :                 case SECURITY_DESCRIPTOR_REVISION_1: val = "SECURITY_DESCRIPTOR_REVISION_1"; break;
     664             :         }
     665         327 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     666         327 : }
     667             : 
     668     1964129 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r)
     669             : {
     670     1964129 :         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
     671     1964129 :         return NDR_ERR_SUCCESS;
     672             : }
     673             : 
     674     6018968 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_type(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
     675             : {
     676             :         uint16_t v;
     677     6018968 :         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
     678     6018968 :         *r = v;
     679     6018968 :         return NDR_ERR_SUCCESS;
     680             : }
     681             : 
     682         327 : _PUBLIC_ void ndr_print_security_descriptor_type(struct ndr_print *ndr, const char *name, uint16_t r)
     683             : {
     684         327 :         ndr_print_uint16(ndr, name, r);
     685         327 :         ndr->depth++;
     686         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_OWNER_DEFAULTED", SEC_DESC_OWNER_DEFAULTED, r);
     687         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_GROUP_DEFAULTED", SEC_DESC_GROUP_DEFAULTED, r);
     688         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PRESENT", SEC_DESC_DACL_PRESENT, r);
     689         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_DEFAULTED", SEC_DESC_DACL_DEFAULTED, r);
     690         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PRESENT", SEC_DESC_SACL_PRESENT, r);
     691         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_DEFAULTED", SEC_DESC_SACL_DEFAULTED, r);
     692         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_TRUSTED", SEC_DESC_DACL_TRUSTED, r);
     693         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SERVER_SECURITY", SEC_DESC_SERVER_SECURITY, r);
     694         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERIT_REQ", SEC_DESC_DACL_AUTO_INHERIT_REQ, r);
     695         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERIT_REQ", SEC_DESC_SACL_AUTO_INHERIT_REQ, r);
     696         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERITED", SEC_DESC_DACL_AUTO_INHERITED, r);
     697         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERITED", SEC_DESC_SACL_AUTO_INHERITED, r);
     698         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PROTECTED", SEC_DESC_DACL_PROTECTED, r);
     699         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PROTECTED", SEC_DESC_SACL_PROTECTED, r);
     700         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_RM_CONTROL_VALID", SEC_DESC_RM_CONTROL_VALID, r);
     701         327 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SELF_RELATIVE", SEC_DESC_SELF_RELATIVE, r);
     702         327 :         ndr->depth--;
     703         327 : }
     704             : 
     705     1964129 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r)
     706             : {
     707             :         {
     708     1964129 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     709     1964129 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
     710     1964129 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     711     1964129 :                 if (ndr_flags & NDR_SCALARS) {
     712     1964129 :                         NDR_CHECK(ndr_push_align(ndr, 5));
     713     1964129 :                         NDR_CHECK(ndr_push_security_descriptor_revision(ndr, NDR_SCALARS, r->revision));
     714     1964129 :                         NDR_CHECK(ndr_push_security_descriptor_type(ndr, NDR_SCALARS, r->type));
     715     1964129 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->owner_sid));
     716     1964129 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->group_sid));
     717     1964129 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sacl));
     718     1964129 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dacl));
     719     1964129 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     720             :                 }
     721     1964129 :                 if (ndr_flags & NDR_BUFFERS) {
     722     1964129 :                         if (r->owner_sid) {
     723     1938369 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid));
     724     1938369 :                                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
     725     1938369 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid));
     726             :                         }
     727     1964129 :                         if (r->group_sid) {
     728     1937714 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid));
     729     1937714 :                                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid));
     730     1937714 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid));
     731             :                         }
     732     1964129 :                         if (r->sacl) {
     733     1253999 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl));
     734     1253999 :                                 NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
     735     1253999 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl));
     736             :                         }
     737     1964129 :                         if (r->dacl) {
     738     1956863 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl));
     739     1956863 :                                 NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
     740     1956863 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl));
     741             :                         }
     742             :                 }
     743     1964129 :                 ndr->flags = _flags_save_STRUCT;
     744             :         }
     745     1964129 :         return NDR_ERR_SUCCESS;
     746             : }
     747             : 
     748     6018968 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r)
     749             : {
     750             :         uint32_t _ptr_owner_sid;
     751     6018968 :         TALLOC_CTX *_mem_save_owner_sid_0 = NULL;
     752             :         uint32_t _ptr_group_sid;
     753     6018968 :         TALLOC_CTX *_mem_save_group_sid_0 = NULL;
     754             :         uint32_t _ptr_sacl;
     755     6018968 :         TALLOC_CTX *_mem_save_sacl_0 = NULL;
     756             :         uint32_t _ptr_dacl;
     757     6018968 :         TALLOC_CTX *_mem_save_dacl_0 = NULL;
     758             :         {
     759     6018968 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     760     6018968 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
     761     6018968 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     762     6018968 :                 if (ndr_flags & NDR_SCALARS) {
     763     6018968 :                         NDR_CHECK(ndr_pull_align(ndr, 5));
     764     6018968 :                         NDR_CHECK(ndr_pull_security_descriptor_revision(ndr, NDR_SCALARS, &r->revision));
     765     6018968 :                         NDR_CHECK(ndr_pull_security_descriptor_type(ndr, NDR_SCALARS, &r->type));
     766     6018968 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_owner_sid));
     767     6018968 :                         if (_ptr_owner_sid) {
     768     5992965 :                                 NDR_PULL_ALLOC(ndr, r->owner_sid);
     769     5992965 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->owner_sid, _ptr_owner_sid));
     770             :                         } else {
     771       26003 :                                 r->owner_sid = NULL;
     772             :                         }
     773     6018735 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid));
     774     6018735 :                         if (_ptr_group_sid) {
     775     5992081 :                                 NDR_PULL_ALLOC(ndr, r->group_sid);
     776     5992081 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->group_sid, _ptr_group_sid));
     777             :                         } else {
     778       26654 :                                 r->group_sid = NULL;
     779             :                         }
     780     6018735 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sacl));
     781     6018735 :                         if (_ptr_sacl) {
     782     4434397 :                                 NDR_PULL_ALLOC(ndr, r->sacl);
     783     4434397 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sacl, _ptr_sacl));
     784             :                         } else {
     785     1584338 :                                 r->sacl = NULL;
     786             :                         }
     787     6018735 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dacl));
     788     6018735 :                         if (_ptr_dacl) {
     789     6011473 :                                 NDR_PULL_ALLOC(ndr, r->dacl);
     790     6011473 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dacl, _ptr_dacl));
     791             :                         } else {
     792        7262 :                                 r->dacl = NULL;
     793             :                         }
     794     6018735 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     795             :                 }
     796     6018735 :                 if (ndr_flags & NDR_BUFFERS) {
     797     6018735 :                         if (r->owner_sid) {
     798             :                                 uint32_t _relative_save_offset;
     799     5992732 :                                 _relative_save_offset = ndr->offset;
     800     5992732 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->owner_sid));
     801     5992732 :                                 _mem_save_owner_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
     802     5992732 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0);
     803     5992732 :                                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
     804     5992732 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_owner_sid_0, 0);
     805     5992732 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     806     5992732 :                                         ndr->relative_highest_offset = ndr->offset;
     807             :                                 }
     808     5992732 :                                 ndr->offset = _relative_save_offset;
     809             :                         }
     810     6018735 :                         if (r->group_sid) {
     811             :                                 uint32_t _relative_save_offset;
     812     5992081 :                                 _relative_save_offset = ndr->offset;
     813     5992081 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->group_sid));
     814     5992081 :                                 _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
     815     5992081 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0);
     816     5992081 :                                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid));
     817     5992081 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0);
     818     5992081 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     819     5992081 :                                         ndr->relative_highest_offset = ndr->offset;
     820             :                                 }
     821     5992081 :                                 ndr->offset = _relative_save_offset;
     822             :                         }
     823     6018735 :                         if (r->sacl) {
     824             :                                 uint32_t _relative_save_offset;
     825     4434397 :                                 _relative_save_offset = ndr->offset;
     826     4434397 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sacl));
     827     4434397 :                                 _mem_save_sacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
     828     4434397 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0);
     829     4434397 :                                 NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
     830     4434397 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0);
     831     4434397 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     832     4434397 :                                         ndr->relative_highest_offset = ndr->offset;
     833             :                                 }
     834     4434397 :                                 ndr->offset = _relative_save_offset;
     835             :                         }
     836     6018735 :                         if (r->dacl) {
     837             :                                 uint32_t _relative_save_offset;
     838     6011473 :                                 _relative_save_offset = ndr->offset;
     839     6011473 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dacl));
     840     6011473 :                                 _mem_save_dacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
     841     6011473 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0);
     842     6011473 :                                 NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
     843     6011473 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0);
     844     6011473 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     845     6011473 :                                         ndr->relative_highest_offset = ndr->offset;
     846             :                                 }
     847     6011473 :                                 ndr->offset = _relative_save_offset;
     848             :                         }
     849             :                 }
     850     6018735 :                 ndr->flags = _flags_save_STRUCT;
     851             :         }
     852     6018735 :         return NDR_ERR_SUCCESS;
     853             : }
     854             : 
     855           0 : static void ndr_print_flags_security_descriptor(struct ndr_print *ndr, const char *name, int unused, const struct security_descriptor *r)
     856             : {
     857           0 :         ndr_print_security_descriptor(ndr, name, r);
     858           0 : }
     859             : 
     860         327 : _PUBLIC_ void ndr_print_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r)
     861             : {
     862         327 :         ndr_print_struct(ndr, name, "security_descriptor");
     863         327 :         if (r == NULL) { ndr_print_null(ndr); return; }
     864             :         {
     865         327 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     866         327 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
     867         327 :                 ndr->depth++;
     868         327 :                 ndr_print_security_descriptor_revision(ndr, "revision", r->revision);
     869         327 :                 ndr_print_security_descriptor_type(ndr, "type", r->type);
     870         327 :                 ndr_print_ptr(ndr, "owner_sid", r->owner_sid);
     871         327 :                 ndr->depth++;
     872         327 :                 if (r->owner_sid) {
     873         301 :                         ndr_print_dom_sid(ndr, "owner_sid", r->owner_sid);
     874             :                 }
     875         327 :                 ndr->depth--;
     876         327 :                 ndr_print_ptr(ndr, "group_sid", r->group_sid);
     877         327 :                 ndr->depth++;
     878         327 :                 if (r->group_sid) {
     879           7 :                         ndr_print_dom_sid(ndr, "group_sid", r->group_sid);
     880             :                 }
     881         327 :                 ndr->depth--;
     882         327 :                 ndr_print_ptr(ndr, "sacl", r->sacl);
     883         327 :                 ndr->depth++;
     884         327 :                 if (r->sacl) {
     885           0 :                         ndr_print_security_acl(ndr, "sacl", r->sacl);
     886             :                 }
     887         327 :                 ndr->depth--;
     888         327 :                 ndr_print_ptr(ndr, "dacl", r->dacl);
     889         327 :                 ndr->depth++;
     890         327 :                 if (r->dacl) {
     891         319 :                         ndr_print_security_acl(ndr, "dacl", r->dacl);
     892             :                 }
     893         327 :                 ndr->depth--;
     894         327 :                 ndr->depth--;
     895         327 :                 ndr->flags = _flags_save_STRUCT;
     896             :         }
     897             : }
     898             : 
     899         751 : _PUBLIC_ enum ndr_err_code ndr_push_sec_desc_buf(struct ndr_push *ndr, int ndr_flags, const struct sec_desc_buf *r)
     900             : {
     901         751 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     902         751 :         if (ndr_flags & NDR_SCALARS) {
     903         527 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     904         527 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_security_descriptor(r->sd, ndr->flags)));
     905         527 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd));
     906         527 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     907             :         }
     908         751 :         if (ndr_flags & NDR_BUFFERS) {
     909         527 :                 if (r->sd) {
     910             :                         {
     911             :                                 struct ndr_push *_ndr_sd;
     912         331 :                                 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sd, 4, -1));
     913         331 :                                 NDR_CHECK(ndr_push_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd));
     914         331 :                                 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sd, 4, -1));
     915             :                         }
     916             :                 }
     917             :         }
     918         751 :         return NDR_ERR_SUCCESS;
     919             : }
     920             : 
     921         669 : _PUBLIC_ enum ndr_err_code ndr_pull_sec_desc_buf(struct ndr_pull *ndr, int ndr_flags, struct sec_desc_buf *r)
     922             : {
     923             :         uint32_t _ptr_sd;
     924         669 :         TALLOC_CTX *_mem_save_sd_0 = NULL;
     925         669 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     926         669 :         if (ndr_flags & NDR_SCALARS) {
     927         484 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     928         484 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sd_size));
     929         484 :                 if (r->sd_size > 262144) {
     930           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
     931             :                 }
     932         484 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd));
     933         484 :                 if (_ptr_sd) {
     934         327 :                         NDR_PULL_ALLOC(ndr, r->sd);
     935             :                 } else {
     936         157 :                         r->sd = NULL;
     937             :                 }
     938         484 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     939             :         }
     940         669 :         if (ndr_flags & NDR_BUFFERS) {
     941         484 :                 if (r->sd) {
     942         327 :                         _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
     943         327 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0);
     944             :                         {
     945             :                                 struct ndr_pull *_ndr_sd;
     946         327 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sd, 4, -1));
     947         327 :                                 NDR_CHECK(ndr_pull_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd));
     948         327 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sd, 4, -1));
     949             :                         }
     950         327 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0);
     951             :                 }
     952             :         }
     953         669 :         return NDR_ERR_SUCCESS;
     954             : }
     955             : 
     956           0 : static void ndr_print_flags_sec_desc_buf(struct ndr_print *ndr, const char *name, int unused, const struct sec_desc_buf *r)
     957             : {
     958           0 :         ndr_print_sec_desc_buf(ndr, name, r);
     959           0 : }
     960             : 
     961          86 : _PUBLIC_ void ndr_print_sec_desc_buf(struct ndr_print *ndr, const char *name, const struct sec_desc_buf *r)
     962             : {
     963          86 :         ndr_print_struct(ndr, name, "sec_desc_buf");
     964          86 :         if (r == NULL) { ndr_print_null(ndr); return; }
     965          86 :         ndr->depth++;
     966          86 :         ndr_print_uint32(ndr, "sd_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_descriptor(r->sd, ndr->flags):r->sd_size);
     967          86 :         ndr_print_ptr(ndr, "sd", r->sd);
     968          86 :         ndr->depth++;
     969          86 :         if (r->sd) {
     970           8 :                 ndr_print_security_descriptor(ndr, "sd", r->sd);
     971             :         }
     972          86 :         ndr->depth--;
     973          86 :         ndr->depth--;
     974             : }
     975             : 
     976      374955 : _PUBLIC_ enum ndr_err_code ndr_push_security_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     977             : {
     978      374955 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     979      374955 :         return NDR_ERR_SUCCESS;
     980             : }
     981             : 
     982      444891 : _PUBLIC_ enum ndr_err_code ndr_pull_security_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     983             : {
     984             :         uint32_t v;
     985      444891 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     986      444891 :         *r = v;
     987      444891 :         return NDR_ERR_SUCCESS;
     988             : }
     989             : 
     990       11716 : _PUBLIC_ void ndr_print_security_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
     991             : {
     992       11716 :         ndr_print_uint32(ndr, name, r);
     993       11716 :         ndr->depth++;
     994       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
     995       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
     996       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
     997       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
     998       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
     999       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY", SE_GROUP_INTEGRITY, r);
    1000       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY_ENABLED", SE_GROUP_INTEGRITY_ENABLED, r);
    1001       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
    1002       11716 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
    1003       11716 :         ndr->depth--;
    1004       11716 : }
    1005             : 
    1006       60946 : _PUBLIC_ enum ndr_err_code ndr_push_security_token(struct ndr_push *ndr, int ndr_flags, const struct security_token *r)
    1007             : {
    1008             :         uint32_t cntr_sids_0;
    1009       60946 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1010       60946 :         if (ndr_flags & NDR_SCALARS) {
    1011       60946 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1012       60946 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
    1013       60946 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
    1014      767455 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
    1015      706509 :                         NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
    1016             :                 }
    1017       60946 :                 NDR_CHECK(ndr_push_se_privilege(ndr, NDR_SCALARS, r->privilege_mask));
    1018       60946 :                 NDR_CHECK(ndr_push_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, r->rights_mask));
    1019       60946 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1020             :         }
    1021       60946 :         if (ndr_flags & NDR_BUFFERS) {
    1022             :         }
    1023       60946 :         return NDR_ERR_SUCCESS;
    1024             : }
    1025             : 
    1026       47365 : _PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr_flags, struct security_token *r)
    1027             : {
    1028       47365 :         uint32_t size_sids_0 = 0;
    1029             :         uint32_t cntr_sids_0;
    1030       47365 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1031       47365 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1032       47365 :         if (ndr_flags & NDR_SCALARS) {
    1033       47365 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1034       47365 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
    1035       47365 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
    1036       47365 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
    1037       47365 :                 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
    1038       47365 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1039       47365 :                 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    1040      553546 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
    1041      506181 :                         NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
    1042             :                 }
    1043       47365 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
    1044       47365 :                 NDR_CHECK(ndr_pull_se_privilege(ndr, NDR_SCALARS, &r->privilege_mask));
    1045       47365 :                 NDR_CHECK(ndr_pull_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, &r->rights_mask));
    1046       47365 :                 if (r->sids) {
    1047       47365 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
    1048             :                 }
    1049       47365 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1050             :         }
    1051       47365 :         if (ndr_flags & NDR_BUFFERS) {
    1052             :         }
    1053       47365 :         return NDR_ERR_SUCCESS;
    1054             : }
    1055             : 
    1056           0 : static void ndr_print_flags_security_token(struct ndr_print *ndr, const char *name, int unused, const struct security_token *r)
    1057             : {
    1058           0 :         ndr_print_security_token(ndr, name, r);
    1059           0 : }
    1060             : 
    1061           0 : _PUBLIC_ void ndr_print_security_token(struct ndr_print *ndr, const char *name, const struct security_token *r)
    1062             : {
    1063             :         uint32_t cntr_sids_0;
    1064           0 :         ndr_print_struct(ndr, name, "security_token");
    1065           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1066           0 :         ndr->depth++;
    1067           0 :         ndr_print_uint32(ndr, "num_sids", r->num_sids);
    1068           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
    1069           0 :         ndr->depth++;
    1070           0 :         for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
    1071           0 :                 ndr_print_dom_sid(ndr, "sids", &r->sids[cntr_sids_0]);
    1072             :         }
    1073           0 :         ndr->depth--;
    1074           0 :         ndr_print_se_privilege(ndr, "privilege_mask", r->privilege_mask);
    1075           0 :         ndr_print_lsa_SystemAccessModeFlags(ndr, "rights_mask", r->rights_mask);
    1076           0 :         ndr->depth--;
    1077             : }
    1078             : 
    1079       40380 : _PUBLIC_ enum ndr_err_code ndr_push_security_unix_token(struct ndr_push *ndr, int ndr_flags, const struct security_unix_token *r)
    1080             : {
    1081             :         uint32_t cntr_groups_0;
    1082       40380 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1083       40380 :         if (ndr_flags & NDR_SCALARS) {
    1084       40380 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->ngroups));
    1085       40380 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1086       40380 :                 NDR_CHECK(ndr_push_uid_t(ndr, NDR_SCALARS, r->uid));
    1087       40380 :                 NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->gid));
    1088       40380 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ngroups));
    1089      443262 :                 for (cntr_groups_0 = 0; cntr_groups_0 < (r->ngroups); cntr_groups_0++) {
    1090      402882 :                         NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->groups[cntr_groups_0]));
    1091             :                 }
    1092       40380 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1093             :         }
    1094       40380 :         if (ndr_flags & NDR_BUFFERS) {
    1095             :         }
    1096       40380 :         return NDR_ERR_SUCCESS;
    1097             : }
    1098             : 
    1099       26922 : _PUBLIC_ enum ndr_err_code ndr_pull_security_unix_token(struct ndr_pull *ndr, int ndr_flags, struct security_unix_token *r)
    1100             : {
    1101       26922 :         uint32_t size_groups_0 = 0;
    1102             :         uint32_t cntr_groups_0;
    1103       26922 :         TALLOC_CTX *_mem_save_groups_0 = NULL;
    1104       26922 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1105       26922 :         if (ndr_flags & NDR_SCALARS) {
    1106       26922 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->groups));
    1107       26922 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1108       26922 :                 NDR_CHECK(ndr_pull_uid_t(ndr, NDR_SCALARS, &r->uid));
    1109       26922 :                 NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->gid));
    1110       26922 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ngroups));
    1111       26922 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->groups, &size_groups_0));
    1112       26922 :                 NDR_PULL_ALLOC_N(ndr, r->groups, size_groups_0);
    1113       26922 :                 _mem_save_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1114       26922 :                 NDR_PULL_SET_MEM_CTX(ndr, r->groups, 0);
    1115      276067 :                 for (cntr_groups_0 = 0; cntr_groups_0 < (size_groups_0); cntr_groups_0++) {
    1116      249145 :                         NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->groups[cntr_groups_0]));
    1117             :                 }
    1118       26922 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_groups_0, 0);
    1119       26922 :                 if (r->groups) {
    1120       26922 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->groups, r->ngroups));
    1121             :                 }
    1122       26922 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1123             :         }
    1124       26922 :         if (ndr_flags & NDR_BUFFERS) {
    1125             :         }
    1126       26922 :         return NDR_ERR_SUCCESS;
    1127             : }
    1128             : 
    1129           0 : static void ndr_print_flags_security_unix_token(struct ndr_print *ndr, const char *name, int unused, const struct security_unix_token *r)
    1130             : {
    1131           0 :         ndr_print_security_unix_token(ndr, name, r);
    1132           0 : }
    1133             : 
    1134           0 : _PUBLIC_ void ndr_print_security_unix_token(struct ndr_print *ndr, const char *name, const struct security_unix_token *r)
    1135             : {
    1136             :         uint32_t cntr_groups_0;
    1137           0 :         ndr_print_struct(ndr, name, "security_unix_token");
    1138           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1139           0 :         ndr->depth++;
    1140           0 :         ndr_print_uid_t(ndr, "uid", r->uid);
    1141           0 :         ndr_print_gid_t(ndr, "gid", r->gid);
    1142           0 :         ndr_print_uint32(ndr, "ngroups", r->ngroups);
    1143           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "groups", (int)r->ngroups);
    1144           0 :         ndr->depth++;
    1145           0 :         for (cntr_groups_0 = 0; cntr_groups_0 < (r->ngroups); cntr_groups_0++) {
    1146           0 :                 ndr_print_gid_t(ndr, "groups", r->groups[cntr_groups_0]);
    1147             :         }
    1148           0 :         ndr->depth--;
    1149           0 :         ndr->depth--;
    1150             : }
    1151             : 
    1152         299 : _PUBLIC_ enum ndr_err_code ndr_push_security_secinfo(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    1153             : {
    1154         299 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    1155         299 :         return NDR_ERR_SUCCESS;
    1156             : }
    1157             : 
    1158         299 : _PUBLIC_ enum ndr_err_code ndr_pull_security_secinfo(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    1159             : {
    1160             :         uint32_t v;
    1161         299 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    1162         299 :         *r = v;
    1163         299 :         return NDR_ERR_SUCCESS;
    1164             : }
    1165             : 
    1166           0 : _PUBLIC_ void ndr_print_security_secinfo(struct ndr_print *ndr, const char *name, uint32_t r)
    1167             : {
    1168           0 :         ndr_print_uint32(ndr, name, r);
    1169           0 :         ndr->depth++;
    1170           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_OWNER", SECINFO_OWNER, r);
    1171           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_GROUP", SECINFO_GROUP, r);
    1172           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_DACL", SECINFO_DACL, r);
    1173           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_SACL", SECINFO_SACL, r);
    1174           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_LABEL", SECINFO_LABEL, r);
    1175           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_ATTRIBUTE", SECINFO_ATTRIBUTE, r);
    1176           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_SCOPE", SECINFO_SCOPE, r);
    1177           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_BACKUP", SECINFO_BACKUP, r);
    1178           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_UNPROTECTED_SACL", SECINFO_UNPROTECTED_SACL, r);
    1179           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_UNPROTECTED_DACL", SECINFO_UNPROTECTED_DACL, r);
    1180           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_PROTECTED_SACL", SECINFO_PROTECTED_SACL, r);
    1181           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_PROTECTED_DACL", SECINFO_PROTECTED_DACL, r);
    1182           0 :         ndr->depth--;
    1183           0 : }
    1184             : 
    1185       77464 : _PUBLIC_ enum ndr_err_code ndr_push_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_push *ndr, int ndr_flags, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
    1186             : {
    1187             :         {
    1188       77464 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1189       77464 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1190       77464 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1191       77464 :                 if (ndr_flags & NDR_SCALARS) {
    1192       77464 :                         NDR_CHECK(ndr_push_align(ndr, 4));
    1193       77464 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Flags));
    1194       77464 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TokenIL));
    1195       77464 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->MachineId, 32));
    1196       77464 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1197             :                 }
    1198       77464 :                 if (ndr_flags & NDR_BUFFERS) {
    1199             :                 }
    1200       77464 :                 ndr->flags = _flags_save_STRUCT;
    1201             :         }
    1202       77464 :         return NDR_ERR_SUCCESS;
    1203             : }
    1204             : 
    1205        9871 : _PUBLIC_ enum ndr_err_code ndr_pull_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_pull *ndr, int ndr_flags, struct LSAP_TOKEN_INFO_INTEGRITY *r)
    1206             : {
    1207        9871 :         uint32_t size_MachineId_0 = 0;
    1208             :         {
    1209        9871 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1210        9871 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1211        9871 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1212        9871 :                 if (ndr_flags & NDR_SCALARS) {
    1213        9871 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
    1214        9871 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Flags));
    1215        9871 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TokenIL));
    1216        9871 :                         size_MachineId_0 = 32;
    1217        9871 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->MachineId, size_MachineId_0));
    1218        9871 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1219             :                 }
    1220        9871 :                 if (ndr_flags & NDR_BUFFERS) {
    1221             :                 }
    1222        9871 :                 ndr->flags = _flags_save_STRUCT;
    1223             :         }
    1224        9871 :         return NDR_ERR_SUCCESS;
    1225             : }
    1226             : 
    1227           0 : static void ndr_print_flags_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_print *ndr, const char *name, int unused, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
    1228             : {
    1229           0 :         ndr_print_LSAP_TOKEN_INFO_INTEGRITY(ndr, name, r);
    1230           0 : }
    1231             : 
    1232           0 : _PUBLIC_ void ndr_print_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_print *ndr, const char *name, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
    1233             : {
    1234           0 :         ndr_print_struct(ndr, name, "LSAP_TOKEN_INFO_INTEGRITY");
    1235           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1236             :         {
    1237           0 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1238           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1239           0 :                 ndr->depth++;
    1240           0 :                 ndr_print_uint32(ndr, "Flags", r->Flags);
    1241           0 :                 ndr_print_uint32(ndr, "TokenIL", r->TokenIL);
    1242           0 :                 ndr_print_array_uint8(ndr, "MachineId", r->MachineId, 32);
    1243           0 :                 ndr->depth--;
    1244           0 :                 ndr->flags = _flags_save_STRUCT;
    1245             :         }
    1246             : }
    1247             : 
    1248       38732 : _PUBLIC_ size_t ndr_size_LSAP_TOKEN_INFO_INTEGRITY(const struct LSAP_TOKEN_INFO_INTEGRITY *r, int flags)
    1249             : {
    1250       38732 :         flags |= LIBNDR_PRINT_ARRAY_HEX;
    1251       38732 :         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_LSAP_TOKEN_INFO_INTEGRITY);
    1252             : }
    1253             : 
    1254        1051 : _PUBLIC_ enum ndr_err_code ndr_push_kerb_EncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    1255             : {
    1256        1051 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    1257        1051 :         return NDR_ERR_SUCCESS;
    1258             : }
    1259             : 
    1260        4186 : _PUBLIC_ enum ndr_err_code ndr_pull_kerb_EncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    1261             : {
    1262             :         uint32_t v;
    1263        4186 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    1264        4186 :         *r = v;
    1265        4186 :         return NDR_ERR_SUCCESS;
    1266             : }
    1267             : 
    1268         333 : _PUBLIC_ void ndr_print_kerb_EncTypes(struct ndr_print *ndr, const char *name, uint32_t r)
    1269             : {
    1270         333 :         ndr_print_uint32(ndr, name, r);
    1271         333 :         ndr->depth++;
    1272         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_CRC", KERB_ENCTYPE_DES_CBC_CRC, r);
    1273         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_MD5", KERB_ENCTYPE_DES_CBC_MD5, r);
    1274         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RC4_HMAC_MD5", KERB_ENCTYPE_RC4_HMAC_MD5, r);
    1275         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96, r);
    1276         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96, r);
    1277         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96_SK", KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96_SK, r);
    1278         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_FAST_SUPPORTED", KERB_ENCTYPE_FAST_SUPPORTED, r);
    1279         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED", KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED, r);
    1280         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_CLAIMS_SUPPORTED", KERB_ENCTYPE_CLAIMS_SUPPORTED, r);
    1281         333 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED", KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED, r);
    1282         333 :         ndr->depth--;
    1283         333 : }
    1284             : 
    1285           0 : _PUBLIC_ enum ndr_err_code ndr_push_security_autoinherit(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    1286             : {
    1287           0 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    1288           0 :         return NDR_ERR_SUCCESS;
    1289             : }
    1290             : 
    1291           0 : _PUBLIC_ enum ndr_err_code ndr_pull_security_autoinherit(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    1292             : {
    1293             :         uint32_t v;
    1294           0 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    1295           0 :         *r = v;
    1296           0 :         return NDR_ERR_SUCCESS;
    1297             : }
    1298             : 
    1299           0 : _PUBLIC_ void ndr_print_security_autoinherit(struct ndr_print *ndr, const char *name, uint32_t r)
    1300             : {
    1301           0 :         ndr_print_uint32(ndr, name, r);
    1302           0 :         ndr->depth++;
    1303           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DACL_AUTO_INHERIT", SEC_DACL_AUTO_INHERIT, r);
    1304           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_SACL_AUTO_INHERIT", SEC_SACL_AUTO_INHERIT, r);
    1305           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DEFAULT_DESCRIPTOR", SEC_DEFAULT_DESCRIPTOR, r);
    1306           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_OWNER_FROM_PARENT", SEC_OWNER_FROM_PARENT, r);
    1307           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_GROUP_FROM_PARENT", SEC_GROUP_FROM_PARENT, r);
    1308           0 :         ndr->depth--;
    1309           0 : }
    1310             : 
    1311             : #ifndef SKIP_NDR_TABLE_security
    1312             : static const struct ndr_interface_public_struct security_public_structs[] = {
    1313             :         {
    1314             :                 .name = "dom_sid",
    1315             :                 .struct_size = sizeof(struct dom_sid ),
    1316             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_dom_sid,
    1317             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dom_sid,
    1318             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_dom_sid,
    1319             :         },
    1320             :         {
    1321             :                 .name = "security_ace",
    1322             :                 .struct_size = sizeof(struct security_ace ),
    1323             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_ace,
    1324             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_ace,
    1325             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_ace,
    1326             :         },
    1327             :         {
    1328             :                 .name = "security_acl",
    1329             :                 .struct_size = sizeof(struct security_acl ),
    1330             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_acl,
    1331             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_acl,
    1332             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_acl,
    1333             :         },
    1334             :         {
    1335             :                 .name = "security_descriptor",
    1336             :                 .struct_size = sizeof(struct security_descriptor ),
    1337             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_descriptor,
    1338             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_descriptor,
    1339             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_descriptor,
    1340             :         },
    1341             :         {
    1342             :                 .name = "sec_desc_buf",
    1343             :                 .struct_size = sizeof(struct sec_desc_buf ),
    1344             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_sec_desc_buf,
    1345             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_sec_desc_buf,
    1346             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_sec_desc_buf,
    1347             :         },
    1348             :         {
    1349             :                 .name = "security_token",
    1350             :                 .struct_size = sizeof(struct security_token ),
    1351             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_token,
    1352             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_token,
    1353             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_token,
    1354             :         },
    1355             :         {
    1356             :                 .name = "security_unix_token",
    1357             :                 .struct_size = sizeof(struct security_unix_token ),
    1358             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_unix_token,
    1359             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_unix_token,
    1360             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_unix_token,
    1361             :         },
    1362             :         {
    1363             :                 .name = "LSAP_TOKEN_INFO_INTEGRITY",
    1364             :                 .struct_size = sizeof(struct LSAP_TOKEN_INFO_INTEGRITY ),
    1365             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_LSAP_TOKEN_INFO_INTEGRITY,
    1366             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_LSAP_TOKEN_INFO_INTEGRITY,
    1367             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_LSAP_TOKEN_INFO_INTEGRITY,
    1368             :         },
    1369             :         { .name = NULL }
    1370             : };
    1371             : 
    1372             : static const struct ndr_interface_call security_calls[] = {
    1373             :         { .name = NULL }
    1374             : };
    1375             : 
    1376             : static const char * const security_endpoint_strings[] = {
    1377             :         "ncacn_np:[\\pipe\\security]", 
    1378             : };
    1379             : 
    1380             : static const struct ndr_interface_string_array security_endpoints = {
    1381             :         .count  = 1,
    1382             :         .names  = security_endpoint_strings
    1383             : };
    1384             : 
    1385             : static const char * const security_authservice_strings[] = {
    1386             :         "host", 
    1387             : };
    1388             : 
    1389             : static const struct ndr_interface_string_array security_authservices = {
    1390             :         .count  = 1,
    1391             :         .names  = security_authservice_strings
    1392             : };
    1393             : 
    1394             : 
    1395             : const struct ndr_interface_table ndr_table_security = {
    1396             :         .name           = "security",
    1397             :         .syntax_id      = {
    1398             :                 {0xcbf7d408,0x2d6c,0x11e2,{0xae,0x5b},{0x0b,0x56,0x92,0x79,0x0e,0x18}},
    1399             :                 NDR_SECURITY_VERSION
    1400             :         },
    1401             :         .helpstring     = NDR_SECURITY_HELPSTRING,
    1402             :         .num_calls      = 0,
    1403             :         .calls          = security_calls,
    1404             :         .num_public_structs     = 8,
    1405             :         .public_structs         = security_public_structs,
    1406             :         .endpoints      = &security_endpoints,
    1407             :         .authservices   = &security_authservices
    1408             : };
    1409             : 
    1410             : #endif /* SKIP_NDR_TABLE_security */

Generated by: LCOV version 1.13