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 0 : static enum ndr_err_code ndr_pull_RemoteActivation(struct ndr_pull *ndr, int flags, struct RemoteActivation *r)
127 : {
128 : uint32_t _ptr_pwszObjectName;
129 0 : uint32_t size_pwszObjectName_1 = 0;
130 0 : uint32_t length_pwszObjectName_1 = 0;
131 : uint32_t _ptr_pObjectStorage;
132 : uint32_t _ptr_pIIDs;
133 0 : uint32_t size_pIIDs_1 = 0;
134 : uint32_t cntr_pIIDs_1;
135 0 : uint32_t size_protseq_0 = 0;
136 : uint32_t cntr_protseq_0;
137 : uint32_t _ptr_pdsaOxidBindings;
138 : uint32_t _ptr_ifaces;
139 0 : uint32_t size_ifaces_1 = 0;
140 : uint32_t cntr_ifaces_1;
141 0 : uint32_t size_results_0 = 0;
142 : uint32_t cntr_results_0;
143 0 : TALLOC_CTX *_mem_save_that_0 = NULL;
144 0 : TALLOC_CTX *_mem_save_pwszObjectName_0 = NULL;
145 0 : TALLOC_CTX *_mem_save_pObjectStorage_0 = NULL;
146 0 : TALLOC_CTX *_mem_save_pIIDs_0 = NULL;
147 0 : TALLOC_CTX *_mem_save_pIIDs_1 = NULL;
148 0 : TALLOC_CTX *_mem_save_protseq_0 = NULL;
149 0 : TALLOC_CTX *_mem_save_pOxid_0 = NULL;
150 0 : TALLOC_CTX *_mem_save_pdsaOxidBindings_0 = NULL;
151 0 : TALLOC_CTX *_mem_save_pdsaOxidBindings_1 = NULL;
152 0 : TALLOC_CTX *_mem_save_ipidRemUnknown_0 = NULL;
153 0 : TALLOC_CTX *_mem_save_AuthnHint_0 = NULL;
154 0 : TALLOC_CTX *_mem_save_ServerVersion_0 = NULL;
155 0 : TALLOC_CTX *_mem_save_hr_0 = NULL;
156 0 : TALLOC_CTX *_mem_save_ifaces_1 = NULL;
157 0 : TALLOC_CTX *_mem_save_ifaces_2 = NULL;
158 0 : TALLOC_CTX *_mem_save_results_0 = NULL;
159 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
160 0 : 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 0 : if (flags & NDR_OUT) {
257 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
258 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
259 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
260 0 : NDR_PULL_ALLOC(ndr, r->out.that);
261 : }
262 0 : _mem_save_that_0 = NDR_PULL_GET_MEM_CTX(ndr);
263 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.that, LIBNDR_FLAG_REF_ALLOC);
264 0 : NDR_CHECK(ndr_pull_ORPCTHAT(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.that));
265 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_that_0, LIBNDR_FLAG_REF_ALLOC);
266 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
267 0 : NDR_PULL_ALLOC(ndr, r->out.pOxid);
268 : }
269 0 : _mem_save_pOxid_0 = NDR_PULL_GET_MEM_CTX(ndr);
270 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.pOxid, LIBNDR_FLAG_REF_ALLOC);
271 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.pOxid));
272 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pOxid_0, LIBNDR_FLAG_REF_ALLOC);
273 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
274 0 : NDR_PULL_ALLOC(ndr, r->out.pdsaOxidBindings);
275 : }
276 0 : _mem_save_pdsaOxidBindings_0 = NDR_PULL_GET_MEM_CTX(ndr);
277 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.pdsaOxidBindings, LIBNDR_FLAG_REF_ALLOC);
278 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pdsaOxidBindings));
279 0 : if (_ptr_pdsaOxidBindings) {
280 0 : NDR_PULL_ALLOC(ndr, *r->out.pdsaOxidBindings);
281 : } else {
282 0 : *r->out.pdsaOxidBindings = NULL;
283 : }
284 0 : if (*r->out.pdsaOxidBindings) {
285 0 : _mem_save_pdsaOxidBindings_1 = NDR_PULL_GET_MEM_CTX(ndr);
286 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.pdsaOxidBindings, 0);
287 0 : NDR_CHECK(ndr_pull_DUALSTRINGARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pdsaOxidBindings));
288 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pdsaOxidBindings_1, 0);
289 : }
290 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pdsaOxidBindings_0, LIBNDR_FLAG_REF_ALLOC);
291 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
292 0 : NDR_PULL_ALLOC(ndr, r->out.ipidRemUnknown);
293 : }
294 0 : _mem_save_ipidRemUnknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
295 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ipidRemUnknown, LIBNDR_FLAG_REF_ALLOC);
296 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->out.ipidRemUnknown));
297 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ipidRemUnknown_0, LIBNDR_FLAG_REF_ALLOC);
298 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
299 0 : NDR_PULL_ALLOC(ndr, r->out.AuthnHint);
300 : }
301 0 : _mem_save_AuthnHint_0 = NDR_PULL_GET_MEM_CTX(ndr);
302 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.AuthnHint, LIBNDR_FLAG_REF_ALLOC);
303 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.AuthnHint));
304 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_AuthnHint_0, LIBNDR_FLAG_REF_ALLOC);
305 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
306 0 : NDR_PULL_ALLOC(ndr, r->out.ServerVersion);
307 : }
308 0 : _mem_save_ServerVersion_0 = NDR_PULL_GET_MEM_CTX(ndr);
309 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ServerVersion, LIBNDR_FLAG_REF_ALLOC);
310 0 : NDR_CHECK(ndr_pull_COMVERSION(ndr, NDR_SCALARS, r->out.ServerVersion));
311 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ServerVersion_0, LIBNDR_FLAG_REF_ALLOC);
312 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
313 0 : NDR_PULL_ALLOC(ndr, r->out.hr);
314 : }
315 0 : _mem_save_hr_0 = NDR_PULL_GET_MEM_CTX(ndr);
316 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.hr, LIBNDR_FLAG_REF_ALLOC);
317 0 : NDR_CHECK(ndr_pull_HRESULT(ndr, NDR_SCALARS, r->out.hr));
318 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hr_0, LIBNDR_FLAG_REF_ALLOC);
319 0 : 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 */
|