LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_remact.c (source / functions) Hit Total Coverage
Test: coverage report for abartlet/fix-coverage dd10fb34 Lines: 76 362 21.0 %
Date: 2021-09-23 10:06:22 Functions: 1 6 16.7 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_remact.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_misc.h"
       7             : #include "librpc/gen_ndr/ndr_orpc.h"
       8           0 : static enum ndr_err_code ndr_push_imp_levels(struct ndr_push *ndr, int ndr_flags, enum imp_levels r)
       9             : {
      10           0 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
      11           0 :         return NDR_ERR_SUCCESS;
      12             : }
      13             : 
      14           0 : static enum ndr_err_code ndr_pull_imp_levels(struct ndr_pull *ndr, int ndr_flags, enum imp_levels *r)
      15             : {
      16             :         uint32_t v;
      17           0 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
      18           0 :         *r = v;
      19           0 :         return NDR_ERR_SUCCESS;
      20             : }
      21             : 
      22           0 : _PUBLIC_ void ndr_print_imp_levels(struct ndr_print *ndr, const char *name, enum imp_levels r)
      23             : {
      24           0 :         const char *val = NULL;
      25             : 
      26           0 :         switch (r) {
      27           0 :                 case RPC_C_IMP_LEVEL_DEFAULT: val = "RPC_C_IMP_LEVEL_DEFAULT"; break;
      28           0 :                 case RPC_C_IMP_LEVEL_ANONYMOUS: val = "RPC_C_IMP_LEVEL_ANONYMOUS"; break;
      29           0 :                 case RPC_C_IMP_LEVEL_IDENTIFY: val = "RPC_C_IMP_LEVEL_IDENTIFY"; break;
      30           0 :                 case RPC_C_IMP_LEVEL_IMPERSONATE: val = "RPC_C_IMP_LEVEL_IMPERSONATE"; break;
      31           0 :                 case RPC_C_IMP_LEVEL_DELEGATE: val = "RPC_C_IMP_LEVEL_DELEGATE"; break;
      32             :         }
      33           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
      34           0 : }
      35             : 
      36           0 : static enum ndr_err_code ndr_push_RemoteActivation(struct ndr_push *ndr, int flags, const struct RemoteActivation *r)
      37             : {
      38             :         uint32_t cntr_pIIDs_1;
      39             :         uint32_t cntr_protseq_0;
      40             :         uint32_t cntr_ifaces_1;
      41             :         uint32_t cntr_results_0;
      42           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
      43           0 :         if (flags & NDR_IN) {
      44           0 :                 NDR_CHECK(ndr_push_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.this_object));
      45           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->in.Clsid));
      46           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.pwszObjectName));
      47           0 :                 if (r->in.pwszObjectName) {
      48           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.pwszObjectName, CH_UTF16)));
      49           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      50           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.pwszObjectName, CH_UTF16)));
      51           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.pwszObjectName, ndr_charset_length(r->in.pwszObjectName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
      52             :                 }
      53           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.pObjectStorage));
      54           0 :                 if (r->in.pObjectStorage) {
      55           0 :                         NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.pObjectStorage));
      56             :                 }
      57           0 :                 NDR_CHECK(ndr_push_imp_levels(ndr, NDR_SCALARS, r->in.ClientImpLevel));
      58           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Mode));
      59           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Interfaces));
      60           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.pIIDs));
      61           0 :                 if (r->in.pIIDs) {
      62           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.Interfaces));
      63           0 :                         for (cntr_pIIDs_1 = 0; cntr_pIIDs_1 < (r->in.Interfaces); cntr_pIIDs_1++) {
      64           0 :                                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->in.pIIDs[cntr_pIIDs_1]));
      65             :                         }
      66             :                 }
      67           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.num_protseqs));
      68           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_protseqs));
      69           0 :                 for (cntr_protseq_0 = 0; cntr_protseq_0 < (r->in.num_protseqs); cntr_protseq_0++) {
      70           0 :                         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.protseq[cntr_protseq_0]));
      71             :                 }
      72             :         }
      73           0 :         if (flags & NDR_OUT) {
      74           0 :                 if (r->out.that == NULL) {
      75           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      76             :                 }
      77           0 :                 if (r->out.pOxid == NULL) {
      78           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      79             :                 }
      80           0 :                 if (r->out.pdsaOxidBindings == NULL) {
      81           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      82             :                 }
      83           0 :                 if (r->out.ipidRemUnknown == NULL) {
      84           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      85             :                 }
      86           0 :                 if (r->out.AuthnHint == NULL) {
      87           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      88             :                 }
      89           0 :                 if (r->out.ServerVersion == NULL) {
      90           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      91             :                 }
      92           0 :                 if (r->out.hr == NULL) {
      93           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      94             :                 }
      95           0 :                 if (r->out.ifaces == NULL) {
      96           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      97             :                 }
      98           0 :                 NDR_CHECK(ndr_push_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.that));
      99           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.pOxid));
     100           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.pdsaOxidBindings));
     101           0 :                 if (*r->out.pdsaOxidBindings) {
     102           0 :                         NDR_CHECK(ndr_push_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pdsaOxidBindings));
     103             :                 }
     104           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->out.ipidRemUnknown));
     105           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.AuthnHint));
     106           0 :                 NDR_CHECK(ndr_push_COMVERSION(ndr, NDR_SCALARS, r->out.ServerVersion));
     107           0 :                 NDR_CHECK(ndr_push_HRESULT(ndr, NDR_SCALARS, *r->out.hr));
     108           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.Interfaces));
     109           0 :                 for (cntr_ifaces_1 = 0; cntr_ifaces_1 < (r->in.Interfaces); cntr_ifaces_1++) {
     110           0 :                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.ifaces[cntr_ifaces_1]));
     111             :                 }
     112           0 :                 for (cntr_ifaces_1 = 0; cntr_ifaces_1 < (r->in.Interfaces); cntr_ifaces_1++) {
     113           0 :                         if (r->out.ifaces[cntr_ifaces_1]) {
     114           0 :                                 NDR_CHECK(ndr_push_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ifaces[cntr_ifaces_1]));
     115             :                         }
     116             :                 }
     117           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.Interfaces));
     118           0 :                 for (cntr_results_0 = 0; cntr_results_0 < (r->in.Interfaces); cntr_results_0++) {
     119           0 :                         NDR_CHECK(ndr_push_HRESULT(ndr, NDR_SCALARS, r->out.results[cntr_results_0]));
     120             :                 }
     121           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
     122             :         }
     123           0 :         return NDR_ERR_SUCCESS;
     124             : }
     125             : 
     126           1 : static enum ndr_err_code ndr_pull_RemoteActivation(struct ndr_pull *ndr, int flags, struct RemoteActivation *r)
     127             : {
     128             :         uint32_t _ptr_pwszObjectName;
     129           1 :         uint32_t size_pwszObjectName_1 = 0;
     130           1 :         uint32_t length_pwszObjectName_1 = 0;
     131             :         uint32_t _ptr_pObjectStorage;
     132             :         uint32_t _ptr_pIIDs;
     133           1 :         uint32_t size_pIIDs_1 = 0;
     134             :         uint32_t cntr_pIIDs_1;
     135           1 :         uint32_t size_protseq_0 = 0;
     136             :         uint32_t cntr_protseq_0;
     137             :         uint32_t _ptr_pdsaOxidBindings;
     138             :         uint32_t _ptr_ifaces;
     139           1 :         uint32_t size_ifaces_1 = 0;
     140             :         uint32_t cntr_ifaces_1;
     141           1 :         uint32_t size_results_0 = 0;
     142             :         uint32_t cntr_results_0;
     143           1 :         TALLOC_CTX *_mem_save_that_0 = NULL;
     144           1 :         TALLOC_CTX *_mem_save_pwszObjectName_0 = NULL;
     145           1 :         TALLOC_CTX *_mem_save_pObjectStorage_0 = NULL;
     146           1 :         TALLOC_CTX *_mem_save_pIIDs_0 = NULL;
     147           1 :         TALLOC_CTX *_mem_save_pIIDs_1 = NULL;
     148           1 :         TALLOC_CTX *_mem_save_protseq_0 = NULL;
     149           1 :         TALLOC_CTX *_mem_save_pOxid_0 = NULL;
     150           1 :         TALLOC_CTX *_mem_save_pdsaOxidBindings_0 = NULL;
     151           1 :         TALLOC_CTX *_mem_save_pdsaOxidBindings_1 = NULL;
     152           1 :         TALLOC_CTX *_mem_save_ipidRemUnknown_0 = NULL;
     153           1 :         TALLOC_CTX *_mem_save_AuthnHint_0 = NULL;
     154           1 :         TALLOC_CTX *_mem_save_ServerVersion_0 = NULL;
     155           1 :         TALLOC_CTX *_mem_save_hr_0 = NULL;
     156           1 :         TALLOC_CTX *_mem_save_ifaces_1 = NULL;
     157           1 :         TALLOC_CTX *_mem_save_ifaces_2 = NULL;
     158           1 :         TALLOC_CTX *_mem_save_results_0 = NULL;
     159           1 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     160           1 :         if (flags & NDR_IN) {
     161           0 :                 NDR_ZERO_STRUCT(r->out);
     162             : 
     163           0 :                 NDR_CHECK(ndr_pull_ORPCTHIS(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.this_object));
     164           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->in.Clsid));
     165           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwszObjectName));
     166           0 :                 if (_ptr_pwszObjectName) {
     167           0 :                         NDR_PULL_ALLOC(ndr, r->in.pwszObjectName);
     168             :                 } else {
     169           0 :                         r->in.pwszObjectName = NULL;
     170             :                 }
     171           0 :                 if (r->in.pwszObjectName) {
     172           0 :                         _mem_save_pwszObjectName_0 = NDR_PULL_GET_MEM_CTX(ndr);
     173           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.pwszObjectName, 0);
     174           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.pwszObjectName));
     175           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.pwszObjectName));
     176           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.pwszObjectName, &size_pwszObjectName_1));
     177           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.pwszObjectName, &length_pwszObjectName_1));
     178           0 :                         if (length_pwszObjectName_1 > size_pwszObjectName_1) {
     179           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_pwszObjectName_1, length_pwszObjectName_1);
     180             :                         }
     181           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_pwszObjectName_1, sizeof(uint16_t)));
     182           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.pwszObjectName, length_pwszObjectName_1, sizeof(uint16_t), CH_UTF16));
     183           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwszObjectName_0, 0);
     184             :                 }
     185           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pObjectStorage));
     186           0 :                 if (_ptr_pObjectStorage) {
     187           0 :                         NDR_PULL_ALLOC(ndr, r->in.pObjectStorage);
     188             :                 } else {
     189           0 :                         r->in.pObjectStorage = NULL;
     190             :                 }
     191           0 :                 if (r->in.pObjectStorage) {
     192           0 :                         _mem_save_pObjectStorage_0 = NDR_PULL_GET_MEM_CTX(ndr);
     193           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.pObjectStorage, 0);
     194           0 :                         NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.pObjectStorage));
     195           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pObjectStorage_0, 0);
     196             :                 }
     197           0 :                 NDR_CHECK(ndr_pull_imp_levels(ndr, NDR_SCALARS, &r->in.ClientImpLevel));
     198           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Mode));
     199           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Interfaces));
     200           0 :                 if (r->in.Interfaces < 1 || r->in.Interfaces > 32768) {
     201           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
     202             :                 }
     203           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pIIDs));
     204           0 :                 if (_ptr_pIIDs) {
     205           0 :                         NDR_PULL_ALLOC(ndr, r->in.pIIDs);
     206             :                 } else {
     207           0 :                         r->in.pIIDs = NULL;
     208             :                 }
     209           0 :                 if (r->in.pIIDs) {
     210           0 :                         _mem_save_pIIDs_0 = NDR_PULL_GET_MEM_CTX(ndr);
     211           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.pIIDs, 0);
     212           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.pIIDs));
     213           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.pIIDs, &size_pIIDs_1));
     214           0 :                         NDR_PULL_ALLOC_N(ndr, r->in.pIIDs, size_pIIDs_1);
     215           0 :                         _mem_save_pIIDs_1 = NDR_PULL_GET_MEM_CTX(ndr);
     216           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.pIIDs, 0);
     217           0 :                         for (cntr_pIIDs_1 = 0; cntr_pIIDs_1 < (size_pIIDs_1); cntr_pIIDs_1++) {
     218           0 :                                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->in.pIIDs[cntr_pIIDs_1]));
     219             :                         }
     220           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pIIDs_1, 0);
     221           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pIIDs_0, 0);
     222             :                 }
     223           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.num_protseqs));
     224           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.protseq));
     225           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.protseq, &size_protseq_0));
     226           0 :                 NDR_PULL_ALLOC_N(ndr, r->in.protseq, size_protseq_0);
     227           0 :                 _mem_save_protseq_0 = NDR_PULL_GET_MEM_CTX(ndr);
     228           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.protseq, 0);
     229           0 :                 for (cntr_protseq_0 = 0; cntr_protseq_0 < (size_protseq_0); cntr_protseq_0++) {
     230           0 :                         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.protseq[cntr_protseq_0]));
     231             :                 }
     232           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_protseq_0, 0);
     233           0 :                 NDR_PULL_ALLOC(ndr, r->out.that);
     234           0 :                 NDR_ZERO_STRUCTP(r->out.that);
     235           0 :                 NDR_PULL_ALLOC(ndr, r->out.pOxid);
     236           0 :                 NDR_ZERO_STRUCTP(r->out.pOxid);
     237           0 :                 NDR_PULL_ALLOC(ndr, r->out.pdsaOxidBindings);
     238           0 :                 NDR_ZERO_STRUCTP(r->out.pdsaOxidBindings);
     239           0 :                 NDR_PULL_ALLOC(ndr, r->out.ipidRemUnknown);
     240           0 :                 NDR_ZERO_STRUCTP(r->out.ipidRemUnknown);
     241           0 :                 NDR_PULL_ALLOC(ndr, r->out.AuthnHint);
     242           0 :                 NDR_ZERO_STRUCTP(r->out.AuthnHint);
     243           0 :                 NDR_PULL_ALLOC(ndr, r->out.ServerVersion);
     244           0 :                 NDR_ZERO_STRUCTP(r->out.ServerVersion);
     245           0 :                 NDR_PULL_ALLOC(ndr, r->out.hr);
     246           0 :                 NDR_ZERO_STRUCTP(r->out.hr);
     247           0 :                 NDR_PULL_ALLOC_N(ndr, r->out.ifaces, r->in.Interfaces);
     248           0 :                 memset(r->out.ifaces, 0, (r->in.Interfaces) * sizeof(*r->out.ifaces));
     249           0 :                 if (r->in.pIIDs) {
     250           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.pIIDs, r->in.Interfaces));
     251             :                 }
     252           0 :                 if (r->in.protseq) {
     253           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.protseq, r->in.num_protseqs));
     254             :                 }
     255             :         }
     256           1 :         if (flags & NDR_OUT) {
     257             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     258             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
     259           1 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     260           1 :                         NDR_PULL_ALLOC(ndr, r->out.that);
     261             :                 }
     262           1 :                 _mem_save_that_0 = NDR_PULL_GET_MEM_CTX(ndr);
     263           1 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.that, LIBNDR_FLAG_REF_ALLOC);
     264           1 :                 NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.that));
     265           1 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_that_0, LIBNDR_FLAG_REF_ALLOC);
     266           1 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     267           1 :                         NDR_PULL_ALLOC(ndr, r->out.pOxid);
     268             :                 }
     269           1 :                 _mem_save_pOxid_0 = NDR_PULL_GET_MEM_CTX(ndr);
     270           1 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.pOxid, LIBNDR_FLAG_REF_ALLOC);
     271           1 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.pOxid));
     272           1 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pOxid_0, LIBNDR_FLAG_REF_ALLOC);
     273           1 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     274           1 :                         NDR_PULL_ALLOC(ndr, r->out.pdsaOxidBindings);
     275             :                 }
     276           1 :                 _mem_save_pdsaOxidBindings_0 = NDR_PULL_GET_MEM_CTX(ndr);
     277           1 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.pdsaOxidBindings, LIBNDR_FLAG_REF_ALLOC);
     278           1 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pdsaOxidBindings));
     279           1 :                 if (_ptr_pdsaOxidBindings) {
     280           1 :                         NDR_PULL_ALLOC(ndr, *r->out.pdsaOxidBindings);
     281             :                 } else {
     282           0 :                         *r->out.pdsaOxidBindings = NULL;
     283             :                 }
     284           1 :                 if (*r->out.pdsaOxidBindings) {
     285           1 :                         _mem_save_pdsaOxidBindings_1 = NDR_PULL_GET_MEM_CTX(ndr);
     286           1 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.pdsaOxidBindings, 0);
     287           1 :                         NDR_CHECK(ndr_pull_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pdsaOxidBindings));
     288           1 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pdsaOxidBindings_1, 0);
     289             :                 }
     290           1 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pdsaOxidBindings_0, LIBNDR_FLAG_REF_ALLOC);
     291           1 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     292           1 :                         NDR_PULL_ALLOC(ndr, r->out.ipidRemUnknown);
     293             :                 }
     294           1 :                 _mem_save_ipidRemUnknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
     295           1 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ipidRemUnknown, LIBNDR_FLAG_REF_ALLOC);
     296           1 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->out.ipidRemUnknown));
     297           1 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ipidRemUnknown_0, LIBNDR_FLAG_REF_ALLOC);
     298           1 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     299           1 :                         NDR_PULL_ALLOC(ndr, r->out.AuthnHint);
     300             :                 }
     301           1 :                 _mem_save_AuthnHint_0 = NDR_PULL_GET_MEM_CTX(ndr);
     302           1 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.AuthnHint, LIBNDR_FLAG_REF_ALLOC);
     303           1 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.AuthnHint));
     304           1 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_AuthnHint_0, LIBNDR_FLAG_REF_ALLOC);
     305           1 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     306           1 :                         NDR_PULL_ALLOC(ndr, r->out.ServerVersion);
     307             :                 }
     308           1 :                 _mem_save_ServerVersion_0 = NDR_PULL_GET_MEM_CTX(ndr);
     309           1 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ServerVersion, LIBNDR_FLAG_REF_ALLOC);
     310           1 :                 NDR_CHECK(ndr_pull_COMVERSION(ndr, NDR_SCALARS, r->out.ServerVersion));
     311           1 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ServerVersion_0, LIBNDR_FLAG_REF_ALLOC);
     312           1 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     313           1 :                         NDR_PULL_ALLOC(ndr, r->out.hr);
     314             :                 }
     315           1 :                 _mem_save_hr_0 = NDR_PULL_GET_MEM_CTX(ndr);
     316           1 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.hr, LIBNDR_FLAG_REF_ALLOC);
     317           1 :                 NDR_CHECK(ndr_pull_HRESULT(ndr, NDR_SCALARS, r->out.hr));
     318           1 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hr_0, LIBNDR_FLAG_REF_ALLOC);
     319           1 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.ifaces));
     320           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->out.ifaces, &size_ifaces_1));
     321           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     322           0 :                         NDR_PULL_ALLOC_N(ndr, r->out.ifaces, size_ifaces_1);
     323             :                 }
     324           0 :                 _mem_save_ifaces_1 = NDR_PULL_GET_MEM_CTX(ndr);
     325           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ifaces, 0);
     326           0 :                 for (cntr_ifaces_1 = 0; cntr_ifaces_1 < (size_ifaces_1); cntr_ifaces_1++) {
     327           0 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ifaces));
     328           0 :                         if (_ptr_ifaces) {
     329           0 :                                 NDR_PULL_ALLOC(ndr, r->out.ifaces[cntr_ifaces_1]);
     330             :                         } else {
     331           0 :                                 r->out.ifaces[cntr_ifaces_1] = NULL;
     332             :                         }
     333             :                 }
     334           0 :                 for (cntr_ifaces_1 = 0; cntr_ifaces_1 < (size_ifaces_1); cntr_ifaces_1++) {
     335           0 :                         if (r->out.ifaces[cntr_ifaces_1]) {
     336           0 :                                 _mem_save_ifaces_2 = NDR_PULL_GET_MEM_CTX(ndr);
     337           0 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ifaces[cntr_ifaces_1], 0);
     338           0 :                                 NDR_CHECK(ndr_pull_MInterfacePointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ifaces[cntr_ifaces_1]));
     339           0 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ifaces_2, 0);
     340             :                         }
     341             :                 }
     342           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ifaces_1, 0);
     343           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.results));
     344           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->out.results, &size_results_0));
     345           0 :                 NDR_PULL_ALLOC_N(ndr, r->out.results, size_results_0);
     346           0 :                 _mem_save_results_0 = NDR_PULL_GET_MEM_CTX(ndr);
     347           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.results, 0);
     348           0 :                 for (cntr_results_0 = 0; cntr_results_0 < (size_results_0); cntr_results_0++) {
     349           0 :                         NDR_CHECK(ndr_pull_HRESULT(ndr, NDR_SCALARS, &r->out.results[cntr_results_0]));
     350             :                 }
     351           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_results_0, 0);
     352           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
     353           0 :                 if (r->out.ifaces) {
     354           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.ifaces, r->in.Interfaces));
     355             :                 }
     356           0 :                 for (cntr_ifaces_1 = 0; cntr_ifaces_1 < (size_ifaces_1); cntr_ifaces_1++) {
     357             :                 }
     358           0 :                 if (r->out.results) {
     359           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->out.results, r->in.Interfaces));
     360             :                 }
     361             :         }
     362           0 :         return NDR_ERR_SUCCESS;
     363             : }
     364             : 
     365           0 : _PUBLIC_ void ndr_print_RemoteActivation(struct ndr_print *ndr, const char *name, int flags, const struct RemoteActivation *r)
     366             : {
     367             :         uint32_t cntr_pIIDs_1;
     368             :         uint32_t cntr_protseq_0;
     369             :         uint32_t cntr_ifaces_1;
     370             :         uint32_t cntr_results_0;
     371           0 :         ndr_print_struct(ndr, name, "RemoteActivation");
     372           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     373           0 :         ndr->depth++;
     374           0 :         if (flags & NDR_SET_VALUES) {
     375           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
     376             :         }
     377           0 :         if (flags & NDR_IN) {
     378           0 :                 ndr_print_struct(ndr, "in", "RemoteActivation");
     379           0 :                 ndr->depth++;
     380           0 :                 ndr_print_ORPCTHIS(ndr, "this_object", &r->in.this_object);
     381           0 :                 ndr_print_GUID(ndr, "Clsid", &r->in.Clsid);
     382           0 :                 ndr_print_ptr(ndr, "pwszObjectName", r->in.pwszObjectName);
     383           0 :                 ndr->depth++;
     384           0 :                 if (r->in.pwszObjectName) {
     385           0 :                         ndr_print_string(ndr, "pwszObjectName", r->in.pwszObjectName);
     386             :                 }
     387           0 :                 ndr->depth--;
     388           0 :                 ndr_print_ptr(ndr, "pObjectStorage", r->in.pObjectStorage);
     389           0 :                 ndr->depth++;
     390           0 :                 if (r->in.pObjectStorage) {
     391           0 :                         ndr_print_MInterfacePointer(ndr, "pObjectStorage", r->in.pObjectStorage);
     392             :                 }
     393           0 :                 ndr->depth--;
     394           0 :                 ndr_print_imp_levels(ndr, "ClientImpLevel", r->in.ClientImpLevel);
     395           0 :                 ndr_print_uint32(ndr, "Mode", r->in.Mode);
     396           0 :                 ndr_print_uint32(ndr, "Interfaces", r->in.Interfaces);
     397           0 :                 ndr_print_ptr(ndr, "pIIDs", r->in.pIIDs);
     398           0 :                 ndr->depth++;
     399           0 :                 if (r->in.pIIDs) {
     400           0 :                         ndr->print(ndr, "%s: ARRAY(%d)", "pIIDs", (int)r->in.Interfaces);
     401           0 :                         ndr->depth++;
     402           0 :                         for (cntr_pIIDs_1 = 0; cntr_pIIDs_1 < (r->in.Interfaces); cntr_pIIDs_1++) {
     403           0 :                                 ndr_print_GUID(ndr, "pIIDs", &r->in.pIIDs[cntr_pIIDs_1]);
     404             :                         }
     405           0 :                         ndr->depth--;
     406             :                 }
     407           0 :                 ndr->depth--;
     408           0 :                 ndr_print_uint16(ndr, "num_protseqs", r->in.num_protseqs);
     409           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "protseq", (int)r->in.num_protseqs);
     410           0 :                 ndr->depth++;
     411           0 :                 for (cntr_protseq_0 = 0; cntr_protseq_0 < (r->in.num_protseqs); cntr_protseq_0++) {
     412           0 :                         ndr_print_uint16(ndr, "protseq", r->in.protseq[cntr_protseq_0]);
     413             :                 }
     414           0 :                 ndr->depth--;
     415           0 :                 ndr->depth--;
     416             :         }
     417           0 :         if (flags & NDR_OUT) {
     418           0 :                 ndr_print_struct(ndr, "out", "RemoteActivation");
     419           0 :                 ndr->depth++;
     420           0 :                 ndr_print_ptr(ndr, "that", r->out.that);
     421           0 :                 ndr->depth++;
     422           0 :                 ndr_print_ORPCTHAT(ndr, "that", r->out.that);
     423           0 :                 ndr->depth--;
     424           0 :                 ndr_print_ptr(ndr, "pOxid", r->out.pOxid);
     425           0 :                 ndr->depth++;
     426           0 :                 ndr_print_hyper(ndr, "pOxid", *r->out.pOxid);
     427           0 :                 ndr->depth--;
     428           0 :                 ndr_print_ptr(ndr, "pdsaOxidBindings", r->out.pdsaOxidBindings);
     429           0 :                 ndr->depth++;
     430           0 :                 ndr_print_ptr(ndr, "pdsaOxidBindings", *r->out.pdsaOxidBindings);
     431           0 :                 ndr->depth++;
     432           0 :                 if (*r->out.pdsaOxidBindings) {
     433           0 :                         ndr_print_DUALSTRINGARRAY(ndr, "pdsaOxidBindings", *r->out.pdsaOxidBindings);
     434             :                 }
     435           0 :                 ndr->depth--;
     436           0 :                 ndr->depth--;
     437           0 :                 ndr_print_ptr(ndr, "ipidRemUnknown", r->out.ipidRemUnknown);
     438           0 :                 ndr->depth++;
     439           0 :                 ndr_print_GUID(ndr, "ipidRemUnknown", r->out.ipidRemUnknown);
     440           0 :                 ndr->depth--;
     441           0 :                 ndr_print_ptr(ndr, "AuthnHint", r->out.AuthnHint);
     442           0 :                 ndr->depth++;
     443           0 :                 ndr_print_uint32(ndr, "AuthnHint", *r->out.AuthnHint);
     444           0 :                 ndr->depth--;
     445           0 :                 ndr_print_ptr(ndr, "ServerVersion", r->out.ServerVersion);
     446           0 :                 ndr->depth++;
     447           0 :                 ndr_print_COMVERSION(ndr, "ServerVersion", r->out.ServerVersion);
     448           0 :                 ndr->depth--;
     449           0 :                 ndr_print_ptr(ndr, "hr", r->out.hr);
     450           0 :                 ndr->depth++;
     451           0 :                 ndr_print_HRESULT(ndr, "hr", *r->out.hr);
     452           0 :                 ndr->depth--;
     453           0 :                 ndr_print_ptr(ndr, "ifaces", r->out.ifaces);
     454           0 :                 ndr->depth++;
     455           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "ifaces", (int)r->in.Interfaces);
     456           0 :                 ndr->depth++;
     457           0 :                 for (cntr_ifaces_1 = 0; cntr_ifaces_1 < (r->in.Interfaces); cntr_ifaces_1++) {
     458           0 :                         ndr_print_ptr(ndr, "ifaces", r->out.ifaces[cntr_ifaces_1]);
     459           0 :                         ndr->depth++;
     460           0 :                         if (r->out.ifaces[cntr_ifaces_1]) {
     461           0 :                                 ndr_print_MInterfacePointer(ndr, "ifaces", r->out.ifaces[cntr_ifaces_1]);
     462             :                         }
     463           0 :                         ndr->depth--;
     464             :                 }
     465           0 :                 ndr->depth--;
     466           0 :                 ndr->depth--;
     467           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "results", (int)r->in.Interfaces);
     468           0 :                 ndr->depth++;
     469           0 :                 for (cntr_results_0 = 0; cntr_results_0 < (r->in.Interfaces); cntr_results_0++) {
     470           0 :                         ndr_print_HRESULT(ndr, "results", r->out.results[cntr_results_0]);
     471             :                 }
     472           0 :                 ndr->depth--;
     473           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
     474           0 :                 ndr->depth--;
     475             :         }
     476           0 :         ndr->depth--;
     477             : }
     478             : 
     479             : #ifndef SKIP_NDR_TABLE_IRemoteActivation
     480             : static const struct ndr_interface_public_struct IRemoteActivation_public_structs[] = {
     481             :         { .name = NULL }
     482             : };
     483             : 
     484             : static const struct ndr_interface_call IRemoteActivation_calls[] = {
     485             :         {
     486             :                 "RemoteActivation",
     487             :                 sizeof(struct RemoteActivation),
     488             :                 (ndr_push_flags_fn_t) ndr_push_RemoteActivation,
     489             :                 (ndr_pull_flags_fn_t) ndr_pull_RemoteActivation,
     490             :                 (ndr_print_function_t) ndr_print_RemoteActivation,
     491             :                 { 0, NULL },
     492             :                 { 0, NULL },
     493             :         },
     494             :         { .name = NULL }
     495             : };
     496             : 
     497             : static const char * const IRemoteActivation_endpoint_strings[] = {
     498             :         "ncalrpc:", 
     499             :         "ncacn_ip_tcp:[135]", 
     500             :         "ncacn_np:[\\pipe\\epmapper]", 
     501             : };
     502             : 
     503             : static const struct ndr_interface_string_array IRemoteActivation_endpoints = {
     504             :         .count  = 3,
     505             :         .names  = IRemoteActivation_endpoint_strings
     506             : };
     507             : 
     508             : static const char * const IRemoteActivation_authservice_strings[] = {
     509             :         "host", 
     510             : };
     511             : 
     512             : static const struct ndr_interface_string_array IRemoteActivation_authservices = {
     513             :         .count  = 1,
     514             :         .names  = IRemoteActivation_authservice_strings
     515             : };
     516             : 
     517             : 
     518             : const struct ndr_interface_table ndr_table_IRemoteActivation = {
     519             :         .name           = "IRemoteActivation",
     520             :         .syntax_id      = {
     521             :                 {0x4d9f4ab8,0x7d1c,0x11cf,{0x86,0x1e},{0x00,0x20,0xaf,0x6e,0x7c,0x57}},
     522             :                 NDR_IREMOTEACTIVATION_VERSION
     523             :         },
     524             :         .helpstring     = NDR_IREMOTEACTIVATION_HELPSTRING,
     525             :         .num_calls      = 1,
     526             :         .calls          = IRemoteActivation_calls,
     527             :         .num_public_structs     = 0,
     528             :         .public_structs         = IRemoteActivation_public_structs,
     529             :         .endpoints      = &IRemoteActivation_endpoints,
     530             :         .authservices   = &IRemoteActivation_authservices
     531             : };
     532             : 
     533             : #endif /* SKIP_NDR_TABLE_IRemoteActivation */

Generated by: LCOV version 1.13