Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/source3/librpc/gen_ndr/ndr_open_files.h"
5 :
6 : #include "librpc/gen_ndr/ndr_server_id.h"
7 : #include "librpc/gen_ndr/ndr_security.h"
8 : #include "librpc/gen_ndr/ndr_file_id.h"
9 : #include "librpc/gen_ndr/ndr_smb2_lease_struct.h"
10 : #include "librpc/gen_ndr/ndr_misc.h"
11 436850 : _PUBLIC_ enum ndr_err_code ndr_push_share_mode_entry(struct ndr_push *ndr, int ndr_flags, const struct share_mode_entry *r)
12 : {
13 436850 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14 436850 : if (ndr_flags & NDR_SCALARS) {
15 436850 : NDR_CHECK(ndr_push_align(ndr, 8));
16 436850 : NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->pid));
17 436850 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->op_mid));
18 436850 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->op_type));
19 436850 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->client_guid));
20 436850 : NDR_CHECK(ndr_push_smb2_lease_key(ndr, NDR_SCALARS, &r->lease_key));
21 436850 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->access_mask));
22 436850 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->share_access));
23 436850 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->private_options));
24 436850 : NDR_CHECK(ndr_push_timeval(ndr, NDR_SCALARS, &r->time));
25 436850 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->share_file_id));
26 436850 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->uid));
27 436850 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags));
28 436850 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->name_hash));
29 : /* [skip] 'r->stale' */
30 436850 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
31 : }
32 436850 : if (ndr_flags & NDR_BUFFERS) {
33 436850 : NDR_CHECK(ndr_push_timeval(ndr, NDR_BUFFERS, &r->time));
34 : /* [skip] 'r->stale' */
35 : }
36 436098 : return NDR_ERR_SUCCESS;
37 : }
38 :
39 901061 : _PUBLIC_ enum ndr_err_code ndr_pull_share_mode_entry(struct ndr_pull *ndr, int ndr_flags, struct share_mode_entry *r)
40 : {
41 901061 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
42 901061 : if (ndr_flags & NDR_SCALARS) {
43 901061 : NDR_CHECK(ndr_pull_align(ndr, 8));
44 901061 : NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->pid));
45 901061 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->op_mid));
46 901061 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->op_type));
47 901061 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->client_guid));
48 901061 : NDR_CHECK(ndr_pull_smb2_lease_key(ndr, NDR_SCALARS, &r->lease_key));
49 901061 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->access_mask));
50 901061 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->share_access));
51 901061 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->private_options));
52 901061 : NDR_CHECK(ndr_pull_timeval(ndr, NDR_SCALARS, &r->time));
53 901061 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->share_file_id));
54 901061 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->uid));
55 901061 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
56 901061 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->name_hash));
57 : /* [skip] 'r->stale' */
58 901061 : NDR_ZERO_STRUCT(r->stale);
59 901061 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
60 : }
61 901061 : if (ndr_flags & NDR_BUFFERS) {
62 901061 : NDR_CHECK(ndr_pull_timeval(ndr, NDR_BUFFERS, &r->time));
63 : }
64 899470 : return NDR_ERR_SUCCESS;
65 : }
66 :
67 0 : static void ndr_print_flags_share_mode_entry(struct ndr_print *ndr, const char *name, int unused, const struct share_mode_entry *r)
68 : {
69 0 : ndr_print_share_mode_entry(ndr, name, r);
70 0 : }
71 :
72 0 : _PUBLIC_ void ndr_print_share_mode_entry(struct ndr_print *ndr, const char *name, const struct share_mode_entry *r)
73 : {
74 0 : ndr_print_struct(ndr, name, "share_mode_entry");
75 0 : if (r == NULL) { ndr_print_null(ndr); return; }
76 0 : ndr->depth++;
77 0 : ndr_print_server_id(ndr, "pid", &r->pid);
78 0 : ndr_print_hyper(ndr, "op_mid", r->op_mid);
79 0 : ndr_print_uint16(ndr, "op_type", r->op_type);
80 0 : ndr_print_GUID(ndr, "client_guid", &r->client_guid);
81 0 : ndr_print_smb2_lease_key(ndr, "lease_key", &r->lease_key);
82 0 : ndr_print_uint32(ndr, "access_mask", r->access_mask);
83 0 : ndr_print_uint32(ndr, "share_access", r->share_access);
84 0 : ndr_print_uint32(ndr, "private_options", r->private_options);
85 0 : ndr_print_timeval(ndr, "time", &r->time);
86 0 : ndr_print_udlong(ndr, "share_file_id", r->share_file_id);
87 0 : ndr_print_uint32(ndr, "uid", r->uid);
88 0 : ndr_print_uint16(ndr, "flags", r->flags);
89 0 : ndr_print_uint32(ndr, "name_hash", r->name_hash);
90 0 : ndr_print_uint8(ndr, "stale", r->stale);
91 0 : ndr->depth--;
92 : }
93 :
94 64636 : _PUBLIC_ enum ndr_err_code ndr_push_delete_token(struct ndr_push *ndr, int ndr_flags, const struct delete_token *r)
95 : {
96 64636 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
97 64636 : if (ndr_flags & NDR_SCALARS) {
98 32318 : NDR_CHECK(ndr_push_align(ndr, 5));
99 32318 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->name_hash));
100 32318 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_nt_token));
101 32318 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_token));
102 32318 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
103 : }
104 64636 : if (ndr_flags & NDR_BUFFERS) {
105 32318 : if (r->delete_nt_token) {
106 32318 : NDR_CHECK(ndr_push_security_token(ndr, NDR_SCALARS, r->delete_nt_token));
107 : }
108 32318 : if (r->delete_token) {
109 32318 : NDR_CHECK(ndr_push_security_unix_token(ndr, NDR_SCALARS, r->delete_token));
110 : }
111 : }
112 64220 : return NDR_ERR_SUCCESS;
113 : }
114 :
115 2352 : _PUBLIC_ enum ndr_err_code ndr_pull_delete_token(struct ndr_pull *ndr, int ndr_flags, struct delete_token *r)
116 : {
117 : uint32_t _ptr_delete_nt_token;
118 2352 : TALLOC_CTX *_mem_save_delete_nt_token_0 = NULL;
119 : uint32_t _ptr_delete_token;
120 2352 : TALLOC_CTX *_mem_save_delete_token_0 = NULL;
121 2352 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
122 2352 : if (ndr_flags & NDR_SCALARS) {
123 1176 : NDR_CHECK(ndr_pull_align(ndr, 5));
124 1176 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->name_hash));
125 1176 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_nt_token));
126 1176 : if (_ptr_delete_nt_token) {
127 1176 : NDR_PULL_ALLOC(ndr, r->delete_nt_token);
128 : } else {
129 0 : r->delete_nt_token = NULL;
130 : }
131 1176 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_token));
132 1176 : if (_ptr_delete_token) {
133 1176 : NDR_PULL_ALLOC(ndr, r->delete_token);
134 : } else {
135 0 : r->delete_token = NULL;
136 : }
137 1176 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
138 : }
139 2352 : if (ndr_flags & NDR_BUFFERS) {
140 1176 : if (r->delete_nt_token) {
141 1176 : _mem_save_delete_nt_token_0 = NDR_PULL_GET_MEM_CTX(ndr);
142 1176 : NDR_PULL_SET_MEM_CTX(ndr, r->delete_nt_token, 0);
143 1176 : NDR_CHECK(ndr_pull_security_token(ndr, NDR_SCALARS, r->delete_nt_token));
144 1176 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_nt_token_0, 0);
145 : }
146 1176 : if (r->delete_token) {
147 1176 : _mem_save_delete_token_0 = NDR_PULL_GET_MEM_CTX(ndr);
148 1176 : NDR_PULL_SET_MEM_CTX(ndr, r->delete_token, 0);
149 1176 : NDR_CHECK(ndr_pull_security_unix_token(ndr, NDR_SCALARS, r->delete_token));
150 1176 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_token_0, 0);
151 : }
152 : }
153 2152 : return NDR_ERR_SUCCESS;
154 : }
155 :
156 0 : static void ndr_print_flags_delete_token(struct ndr_print *ndr, const char *name, int unused, const struct delete_token *r)
157 : {
158 0 : ndr_print_delete_token(ndr, name, r);
159 0 : }
160 :
161 0 : _PUBLIC_ void ndr_print_delete_token(struct ndr_print *ndr, const char *name, const struct delete_token *r)
162 : {
163 0 : ndr_print_struct(ndr, name, "delete_token");
164 0 : if (r == NULL) { ndr_print_null(ndr); return; }
165 0 : ndr->depth++;
166 0 : ndr_print_uint32(ndr, "name_hash", r->name_hash);
167 0 : ndr_print_ptr(ndr, "delete_nt_token", r->delete_nt_token);
168 0 : ndr->depth++;
169 0 : if (r->delete_nt_token) {
170 0 : ndr_print_security_token(ndr, "delete_nt_token", r->delete_nt_token);
171 : }
172 0 : ndr->depth--;
173 0 : ndr_print_ptr(ndr, "delete_token", r->delete_token);
174 0 : ndr->depth++;
175 0 : if (r->delete_token) {
176 0 : ndr_print_security_unix_token(ndr, "delete_token", r->delete_token);
177 : }
178 0 : ndr->depth--;
179 0 : ndr->depth--;
180 : }
181 :
182 466810 : _PUBLIC_ enum ndr_err_code ndr_push_share_mode_flags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
183 : {
184 466810 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
185 466810 : return NDR_ERR_SUCCESS;
186 : }
187 :
188 148418 : _PUBLIC_ enum ndr_err_code ndr_pull_share_mode_flags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
189 : {
190 : uint16_t v;
191 148418 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
192 148418 : *r = v;
193 148418 : return NDR_ERR_SUCCESS;
194 : }
195 :
196 6 : _PUBLIC_ void ndr_print_share_mode_flags(struct ndr_print *ndr, const char *name, uint16_t r)
197 : {
198 6 : ndr_print_uint16(ndr, name, r);
199 6 : ndr->depth++;
200 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_SHARE_DELETE", SHARE_MODE_SHARE_DELETE, r);
201 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_SHARE_WRITE", SHARE_MODE_SHARE_WRITE, r);
202 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_SHARE_READ", SHARE_MODE_SHARE_READ, r);
203 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_ACCESS_DELETE", SHARE_MODE_ACCESS_DELETE, r);
204 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_ACCESS_WRITE", SHARE_MODE_ACCESS_WRITE, r);
205 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_ACCESS_READ", SHARE_MODE_ACCESS_READ, r);
206 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_LEASE_HANDLE", SHARE_MODE_LEASE_HANDLE, r);
207 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_LEASE_WRITE", SHARE_MODE_LEASE_WRITE, r);
208 6 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SHARE_MODE_LEASE_READ", SHARE_MODE_LEASE_READ, r);
209 6 : ndr->depth--;
210 6 : }
211 :
212 466810 : _PUBLIC_ enum ndr_err_code ndr_push_share_mode_data(struct ndr_push *ndr, int ndr_flags, const struct share_mode_data *r)
213 : {
214 : uint32_t cntr_delete_tokens_0;
215 466810 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
216 466810 : if (ndr_flags & NDR_SCALARS) {
217 466810 : NDR_CHECK(ndr_push_align(ndr, 8));
218 466810 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unique_content_epoch));
219 466810 : NDR_CHECK(ndr_push_share_mode_flags(ndr, NDR_SCALARS, r->flags));
220 466810 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->servicepath));
221 466810 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->base_name));
222 466810 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->stream_name));
223 466810 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_delete_tokens));
224 466810 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_delete_tokens));
225 498157 : for (cntr_delete_tokens_0 = 0; cntr_delete_tokens_0 < (r->num_delete_tokens); cntr_delete_tokens_0++) {
226 32318 : NDR_CHECK(ndr_push_delete_token(ndr, NDR_SCALARS, &r->delete_tokens[cntr_delete_tokens_0]));
227 : }
228 466810 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_write_time));
229 466810 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->changed_write_time));
230 : /* [skip] 'r->fresh' */
231 : /* [skip] 'r->modified' */
232 466810 : NDR_CHECK(ndr_push_file_id(ndr, NDR_SCALARS, &r->id));
233 466810 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
234 : }
235 466810 : if (ndr_flags & NDR_BUFFERS) {
236 466810 : if (r->servicepath) {
237 466810 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servicepath, CH_UTF8)));
238 466810 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
239 466810 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servicepath, CH_UTF8)));
240 466810 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servicepath, ndr_charset_length(r->servicepath, CH_UTF8), sizeof(uint8_t), CH_UTF8));
241 : }
242 466810 : if (r->base_name) {
243 466810 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->base_name, CH_UTF8)));
244 466810 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
245 466810 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->base_name, CH_UTF8)));
246 466810 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->base_name, ndr_charset_length(r->base_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
247 : }
248 466810 : if (r->stream_name) {
249 6693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->stream_name, CH_UTF8)));
250 6693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
251 6693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->stream_name, CH_UTF8)));
252 6693 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->stream_name, ndr_charset_length(r->stream_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
253 : }
254 498157 : for (cntr_delete_tokens_0 = 0; cntr_delete_tokens_0 < (r->num_delete_tokens); cntr_delete_tokens_0++) {
255 32318 : NDR_CHECK(ndr_push_delete_token(ndr, NDR_BUFFERS, &r->delete_tokens[cntr_delete_tokens_0]));
256 : }
257 : /* [skip] 'r->fresh' */
258 : /* [skip] 'r->modified' */
259 : }
260 465839 : return NDR_ERR_SUCCESS;
261 : }
262 :
263 149737 : _PUBLIC_ enum ndr_err_code ndr_pull_share_mode_data(struct ndr_pull *ndr, int ndr_flags, struct share_mode_data *r)
264 : {
265 : uint32_t _ptr_servicepath;
266 149737 : uint32_t size_servicepath_1 = 0;
267 149737 : uint32_t length_servicepath_1 = 0;
268 149737 : TALLOC_CTX *_mem_save_servicepath_0 = NULL;
269 : uint32_t _ptr_base_name;
270 149737 : uint32_t size_base_name_1 = 0;
271 149737 : uint32_t length_base_name_1 = 0;
272 149737 : TALLOC_CTX *_mem_save_base_name_0 = NULL;
273 : uint32_t _ptr_stream_name;
274 149737 : uint32_t size_stream_name_1 = 0;
275 149737 : uint32_t length_stream_name_1 = 0;
276 149737 : TALLOC_CTX *_mem_save_stream_name_0 = NULL;
277 149737 : uint32_t size_delete_tokens_0 = 0;
278 : uint32_t cntr_delete_tokens_0;
279 149737 : TALLOC_CTX *_mem_save_delete_tokens_0 = NULL;
280 149737 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
281 149737 : if (ndr_flags & NDR_SCALARS) {
282 149737 : NDR_CHECK(ndr_pull_align(ndr, 8));
283 149737 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unique_content_epoch));
284 148418 : NDR_CHECK(ndr_pull_share_mode_flags(ndr, NDR_SCALARS, &r->flags));
285 148418 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servicepath));
286 148418 : if (_ptr_servicepath) {
287 148418 : NDR_PULL_ALLOC(ndr, r->servicepath);
288 : } else {
289 0 : r->servicepath = NULL;
290 : }
291 148418 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_base_name));
292 148418 : if (_ptr_base_name) {
293 148418 : NDR_PULL_ALLOC(ndr, r->base_name);
294 : } else {
295 0 : r->base_name = NULL;
296 : }
297 148418 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_stream_name));
298 148418 : if (_ptr_stream_name) {
299 1417 : NDR_PULL_ALLOC(ndr, r->stream_name);
300 : } else {
301 147001 : r->stream_name = NULL;
302 : }
303 148418 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_delete_tokens));
304 148418 : NDR_CHECK(ndr_pull_array_size(ndr, &r->delete_tokens));
305 148418 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->delete_tokens, &size_delete_tokens_0));
306 148418 : NDR_PULL_ALLOC_N(ndr, r->delete_tokens, size_delete_tokens_0);
307 148418 : _mem_save_delete_tokens_0 = NDR_PULL_GET_MEM_CTX(ndr);
308 148418 : NDR_PULL_SET_MEM_CTX(ndr, r->delete_tokens, 0);
309 149594 : for (cntr_delete_tokens_0 = 0; cntr_delete_tokens_0 < (size_delete_tokens_0); cntr_delete_tokens_0++) {
310 1176 : NDR_CHECK(ndr_pull_delete_token(ndr, NDR_SCALARS, &r->delete_tokens[cntr_delete_tokens_0]));
311 : }
312 148418 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_tokens_0, 0);
313 148418 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_write_time));
314 148418 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->changed_write_time));
315 : /* [skip] 'r->fresh' */
316 148418 : NDR_ZERO_STRUCT(r->fresh);
317 : /* [skip] 'r->modified' */
318 148418 : NDR_ZERO_STRUCT(r->modified);
319 148418 : NDR_CHECK(ndr_pull_file_id(ndr, NDR_SCALARS, &r->id));
320 148418 : if (r->delete_tokens) {
321 148418 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delete_tokens, r->num_delete_tokens));
322 : }
323 148418 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
324 : }
325 148418 : if (ndr_flags & NDR_BUFFERS) {
326 148418 : if (r->servicepath) {
327 148418 : _mem_save_servicepath_0 = NDR_PULL_GET_MEM_CTX(ndr);
328 148418 : NDR_PULL_SET_MEM_CTX(ndr, r->servicepath, 0);
329 148418 : NDR_CHECK(ndr_pull_array_size(ndr, &r->servicepath));
330 148418 : NDR_CHECK(ndr_pull_array_length(ndr, &r->servicepath));
331 148418 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->servicepath, &size_servicepath_1));
332 148418 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->servicepath, &length_servicepath_1));
333 148418 : if (length_servicepath_1 > size_servicepath_1) {
334 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servicepath_1, length_servicepath_1);
335 : }
336 148418 : NDR_CHECK(ndr_check_string_terminator(ndr, length_servicepath_1, sizeof(uint8_t)));
337 148418 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servicepath, length_servicepath_1, sizeof(uint8_t), CH_UTF8));
338 148418 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servicepath_0, 0);
339 : }
340 148418 : if (r->base_name) {
341 148418 : _mem_save_base_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
342 148418 : NDR_PULL_SET_MEM_CTX(ndr, r->base_name, 0);
343 148418 : NDR_CHECK(ndr_pull_array_size(ndr, &r->base_name));
344 148418 : NDR_CHECK(ndr_pull_array_length(ndr, &r->base_name));
345 148418 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->base_name, &size_base_name_1));
346 148418 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->base_name, &length_base_name_1));
347 148418 : if (length_base_name_1 > size_base_name_1) {
348 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_base_name_1, length_base_name_1);
349 : }
350 148418 : NDR_CHECK(ndr_check_string_terminator(ndr, length_base_name_1, sizeof(uint8_t)));
351 148418 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->base_name, length_base_name_1, sizeof(uint8_t), CH_UTF8));
352 148418 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_base_name_0, 0);
353 : }
354 148418 : if (r->stream_name) {
355 1417 : _mem_save_stream_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
356 1417 : NDR_PULL_SET_MEM_CTX(ndr, r->stream_name, 0);
357 1417 : NDR_CHECK(ndr_pull_array_size(ndr, &r->stream_name));
358 1417 : NDR_CHECK(ndr_pull_array_length(ndr, &r->stream_name));
359 1417 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->stream_name, &size_stream_name_1));
360 1417 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->stream_name, &length_stream_name_1));
361 1417 : if (length_stream_name_1 > size_stream_name_1) {
362 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_stream_name_1, length_stream_name_1);
363 : }
364 1417 : NDR_CHECK(ndr_check_string_terminator(ndr, length_stream_name_1, sizeof(uint8_t)));
365 1417 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->stream_name, length_stream_name_1, sizeof(uint8_t), CH_UTF8));
366 1417 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stream_name_0, 0);
367 : }
368 148418 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->delete_tokens, &size_delete_tokens_0));
369 148418 : _mem_save_delete_tokens_0 = NDR_PULL_GET_MEM_CTX(ndr);
370 148418 : NDR_PULL_SET_MEM_CTX(ndr, r->delete_tokens, 0);
371 149594 : for (cntr_delete_tokens_0 = 0; cntr_delete_tokens_0 < (size_delete_tokens_0); cntr_delete_tokens_0++) {
372 1176 : NDR_CHECK(ndr_pull_delete_token(ndr, NDR_BUFFERS, &r->delete_tokens[cntr_delete_tokens_0]));
373 : }
374 148418 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_tokens_0, 0);
375 148531 : for (cntr_delete_tokens_0 = 0; cntr_delete_tokens_0 < (size_delete_tokens_0); cntr_delete_tokens_0++) {
376 : }
377 : }
378 147725 : return NDR_ERR_SUCCESS;
379 : }
380 :
381 0 : static void ndr_print_flags_share_mode_data(struct ndr_print *ndr, const char *name, int unused, const struct share_mode_data *r)
382 : {
383 0 : ndr_print_share_mode_data(ndr, name, r);
384 0 : }
385 :
386 6 : _PUBLIC_ void ndr_print_share_mode_data(struct ndr_print *ndr, const char *name, const struct share_mode_data *r)
387 : {
388 : uint32_t cntr_delete_tokens_0;
389 6 : ndr_print_struct(ndr, name, "share_mode_data");
390 6 : if (r == NULL) { ndr_print_null(ndr); return; }
391 6 : ndr->depth++;
392 6 : ndr_print_hyper(ndr, "unique_content_epoch", r->unique_content_epoch);
393 6 : ndr_print_share_mode_flags(ndr, "flags", r->flags);
394 6 : ndr_print_ptr(ndr, "servicepath", r->servicepath);
395 6 : ndr->depth++;
396 6 : if (r->servicepath) {
397 6 : ndr_print_string(ndr, "servicepath", r->servicepath);
398 : }
399 6 : ndr->depth--;
400 6 : ndr_print_ptr(ndr, "base_name", r->base_name);
401 6 : ndr->depth++;
402 6 : if (r->base_name) {
403 6 : ndr_print_string(ndr, "base_name", r->base_name);
404 : }
405 6 : ndr->depth--;
406 6 : ndr_print_ptr(ndr, "stream_name", r->stream_name);
407 6 : ndr->depth++;
408 6 : if (r->stream_name) {
409 0 : ndr_print_string(ndr, "stream_name", r->stream_name);
410 : }
411 6 : ndr->depth--;
412 6 : ndr_print_uint32(ndr, "num_delete_tokens", r->num_delete_tokens);
413 6 : ndr->print(ndr, "%s: ARRAY(%d)", "delete_tokens", (int)r->num_delete_tokens);
414 6 : ndr->depth++;
415 6 : for (cntr_delete_tokens_0 = 0; cntr_delete_tokens_0 < (r->num_delete_tokens); cntr_delete_tokens_0++) {
416 0 : ndr_print_delete_token(ndr, "delete_tokens", &r->delete_tokens[cntr_delete_tokens_0]);
417 : }
418 6 : ndr->depth--;
419 6 : ndr_print_NTTIME(ndr, "old_write_time", r->old_write_time);
420 6 : ndr_print_NTTIME(ndr, "changed_write_time", r->changed_write_time);
421 6 : ndr_print_uint8(ndr, "fresh", r->fresh);
422 6 : ndr_print_uint8(ndr, "modified", r->modified);
423 6 : ndr_print_file_id(ndr, "id", &r->id);
424 6 : ndr->depth--;
425 : }
426 :
427 1664 : static enum ndr_err_code ndr_push_vfs_default_durable_stat(struct ndr_push *ndr, int ndr_flags, const struct vfs_default_durable_stat *r)
428 : {
429 1664 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
430 1664 : if (ndr_flags & NDR_SCALARS) {
431 832 : NDR_CHECK(ndr_push_align(ndr, 8));
432 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_dev));
433 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_ino));
434 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_mode));
435 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_nlink));
436 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_uid));
437 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_gid));
438 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_rdev));
439 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_size));
440 832 : NDR_CHECK(ndr_push_timespec(ndr, NDR_SCALARS, &r->st_ex_atime));
441 832 : NDR_CHECK(ndr_push_timespec(ndr, NDR_SCALARS, &r->st_ex_mtime));
442 832 : NDR_CHECK(ndr_push_timespec(ndr, NDR_SCALARS, &r->st_ex_ctime));
443 832 : NDR_CHECK(ndr_push_timespec(ndr, NDR_SCALARS, &r->st_ex_btime));
444 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_blksize));
445 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->st_ex_blocks));
446 832 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->st_ex_flags));
447 832 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->st_ex_iflags));
448 832 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
449 : }
450 1664 : if (ndr_flags & NDR_BUFFERS) {
451 832 : NDR_CHECK(ndr_push_timespec(ndr, NDR_BUFFERS, &r->st_ex_atime));
452 832 : NDR_CHECK(ndr_push_timespec(ndr, NDR_BUFFERS, &r->st_ex_mtime));
453 832 : NDR_CHECK(ndr_push_timespec(ndr, NDR_BUFFERS, &r->st_ex_ctime));
454 832 : NDR_CHECK(ndr_push_timespec(ndr, NDR_BUFFERS, &r->st_ex_btime));
455 : }
456 1664 : return NDR_ERR_SUCCESS;
457 : }
458 :
459 644 : static enum ndr_err_code ndr_pull_vfs_default_durable_stat(struct ndr_pull *ndr, int ndr_flags, struct vfs_default_durable_stat *r)
460 : {
461 644 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
462 644 : if (ndr_flags & NDR_SCALARS) {
463 322 : NDR_CHECK(ndr_pull_align(ndr, 8));
464 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_dev));
465 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_ino));
466 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_mode));
467 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_nlink));
468 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_uid));
469 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_gid));
470 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_rdev));
471 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_size));
472 322 : NDR_CHECK(ndr_pull_timespec(ndr, NDR_SCALARS, &r->st_ex_atime));
473 322 : NDR_CHECK(ndr_pull_timespec(ndr, NDR_SCALARS, &r->st_ex_mtime));
474 322 : NDR_CHECK(ndr_pull_timespec(ndr, NDR_SCALARS, &r->st_ex_ctime));
475 322 : NDR_CHECK(ndr_pull_timespec(ndr, NDR_SCALARS, &r->st_ex_btime));
476 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_blksize));
477 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->st_ex_blocks));
478 322 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->st_ex_flags));
479 322 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->st_ex_iflags));
480 322 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
481 : }
482 644 : if (ndr_flags & NDR_BUFFERS) {
483 322 : NDR_CHECK(ndr_pull_timespec(ndr, NDR_BUFFERS, &r->st_ex_atime));
484 322 : NDR_CHECK(ndr_pull_timespec(ndr, NDR_BUFFERS, &r->st_ex_mtime));
485 322 : NDR_CHECK(ndr_pull_timespec(ndr, NDR_BUFFERS, &r->st_ex_ctime));
486 322 : NDR_CHECK(ndr_pull_timespec(ndr, NDR_BUFFERS, &r->st_ex_btime));
487 : }
488 644 : return NDR_ERR_SUCCESS;
489 : }
490 :
491 0 : _PUBLIC_ void ndr_print_vfs_default_durable_stat(struct ndr_print *ndr, const char *name, const struct vfs_default_durable_stat *r)
492 : {
493 0 : ndr_print_struct(ndr, name, "vfs_default_durable_stat");
494 0 : if (r == NULL) { ndr_print_null(ndr); return; }
495 0 : ndr->depth++;
496 0 : ndr_print_hyper(ndr, "st_ex_dev", r->st_ex_dev);
497 0 : ndr_print_hyper(ndr, "st_ex_ino", r->st_ex_ino);
498 0 : ndr_print_hyper(ndr, "st_ex_mode", r->st_ex_mode);
499 0 : ndr_print_hyper(ndr, "st_ex_nlink", r->st_ex_nlink);
500 0 : ndr_print_hyper(ndr, "st_ex_uid", r->st_ex_uid);
501 0 : ndr_print_hyper(ndr, "st_ex_gid", r->st_ex_gid);
502 0 : ndr_print_hyper(ndr, "st_ex_rdev", r->st_ex_rdev);
503 0 : ndr_print_hyper(ndr, "st_ex_size", r->st_ex_size);
504 0 : ndr_print_timespec(ndr, "st_ex_atime", &r->st_ex_atime);
505 0 : ndr_print_timespec(ndr, "st_ex_mtime", &r->st_ex_mtime);
506 0 : ndr_print_timespec(ndr, "st_ex_ctime", &r->st_ex_ctime);
507 0 : ndr_print_timespec(ndr, "st_ex_btime", &r->st_ex_btime);
508 0 : ndr_print_hyper(ndr, "st_ex_blksize", r->st_ex_blksize);
509 0 : ndr_print_hyper(ndr, "st_ex_blocks", r->st_ex_blocks);
510 0 : ndr_print_uint32(ndr, "st_ex_flags", r->st_ex_flags);
511 0 : ndr_print_uint32(ndr, "st_ex_iflags", r->st_ex_iflags);
512 0 : ndr->depth--;
513 : }
514 :
515 832 : _PUBLIC_ enum ndr_err_code ndr_push_vfs_default_durable_cookie(struct ndr_push *ndr, int ndr_flags, const struct vfs_default_durable_cookie *r)
516 : {
517 832 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
518 832 : if (ndr_flags & NDR_SCALARS) {
519 832 : NDR_CHECK(ndr_push_align(ndr, 8));
520 832 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, VFS_DEFAULT_DURABLE_COOKIE_MAGIC, 0x30, sizeof(uint8_t), CH_DOS));
521 832 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, VFS_DEFAULT_DURABLE_COOKIE_VERSION));
522 832 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->allow_reconnect));
523 832 : NDR_CHECK(ndr_push_file_id(ndr, NDR_SCALARS, &r->id));
524 832 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->servicepath));
525 832 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->base_name));
526 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->initial_allocation_size));
527 832 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->position_information));
528 832 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->update_write_time_triggered));
529 832 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->update_write_time_on_close));
530 832 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->write_time_forced));
531 832 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->close_write_time));
532 832 : NDR_CHECK(ndr_push_vfs_default_durable_stat(ndr, NDR_SCALARS, &r->stat_info));
533 832 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
534 : }
535 832 : if (ndr_flags & NDR_BUFFERS) {
536 832 : if (r->servicepath) {
537 832 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servicepath, CH_UTF8)));
538 832 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
539 832 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servicepath, CH_UTF8)));
540 832 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servicepath, ndr_charset_length(r->servicepath, CH_UTF8), sizeof(uint8_t), CH_UTF8));
541 : }
542 832 : if (r->base_name) {
543 832 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->base_name, CH_UTF8)));
544 832 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
545 832 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->base_name, CH_UTF8)));
546 832 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->base_name, ndr_charset_length(r->base_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
547 : }
548 832 : NDR_CHECK(ndr_push_vfs_default_durable_stat(ndr, NDR_BUFFERS, &r->stat_info));
549 : }
550 832 : return NDR_ERR_SUCCESS;
551 : }
552 :
553 322 : _PUBLIC_ enum ndr_err_code ndr_pull_vfs_default_durable_cookie(struct ndr_pull *ndr, int ndr_flags, struct vfs_default_durable_cookie *r)
554 : {
555 322 : uint32_t size_magic_0 = 0;
556 : uint32_t _ptr_servicepath;
557 322 : uint32_t size_servicepath_1 = 0;
558 322 : uint32_t length_servicepath_1 = 0;
559 322 : TALLOC_CTX *_mem_save_servicepath_0 = NULL;
560 : uint32_t _ptr_base_name;
561 322 : uint32_t size_base_name_1 = 0;
562 322 : uint32_t length_base_name_1 = 0;
563 322 : TALLOC_CTX *_mem_save_base_name_0 = NULL;
564 322 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
565 322 : if (ndr_flags & NDR_SCALARS) {
566 322 : NDR_CHECK(ndr_pull_align(ndr, 8));
567 322 : size_magic_0 = 0x30;
568 322 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic, size_magic_0, sizeof(uint8_t), CH_DOS));
569 322 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
570 322 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->allow_reconnect));
571 322 : NDR_CHECK(ndr_pull_file_id(ndr, NDR_SCALARS, &r->id));
572 322 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servicepath));
573 322 : if (_ptr_servicepath) {
574 322 : NDR_PULL_ALLOC(ndr, r->servicepath);
575 : } else {
576 0 : r->servicepath = NULL;
577 : }
578 322 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_base_name));
579 322 : if (_ptr_base_name) {
580 322 : NDR_PULL_ALLOC(ndr, r->base_name);
581 : } else {
582 0 : r->base_name = NULL;
583 : }
584 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->initial_allocation_size));
585 322 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->position_information));
586 322 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->update_write_time_triggered));
587 322 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->update_write_time_on_close));
588 322 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->write_time_forced));
589 322 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->close_write_time));
590 322 : NDR_CHECK(ndr_pull_vfs_default_durable_stat(ndr, NDR_SCALARS, &r->stat_info));
591 322 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
592 : }
593 322 : if (ndr_flags & NDR_BUFFERS) {
594 322 : if (r->servicepath) {
595 322 : _mem_save_servicepath_0 = NDR_PULL_GET_MEM_CTX(ndr);
596 322 : NDR_PULL_SET_MEM_CTX(ndr, r->servicepath, 0);
597 322 : NDR_CHECK(ndr_pull_array_size(ndr, &r->servicepath));
598 322 : NDR_CHECK(ndr_pull_array_length(ndr, &r->servicepath));
599 322 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->servicepath, &size_servicepath_1));
600 322 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->servicepath, &length_servicepath_1));
601 322 : if (length_servicepath_1 > size_servicepath_1) {
602 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servicepath_1, length_servicepath_1);
603 : }
604 322 : NDR_CHECK(ndr_check_string_terminator(ndr, length_servicepath_1, sizeof(uint8_t)));
605 322 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servicepath, length_servicepath_1, sizeof(uint8_t), CH_UTF8));
606 322 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servicepath_0, 0);
607 : }
608 322 : if (r->base_name) {
609 322 : _mem_save_base_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
610 322 : NDR_PULL_SET_MEM_CTX(ndr, r->base_name, 0);
611 322 : NDR_CHECK(ndr_pull_array_size(ndr, &r->base_name));
612 322 : NDR_CHECK(ndr_pull_array_length(ndr, &r->base_name));
613 322 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->base_name, &size_base_name_1));
614 322 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->base_name, &length_base_name_1));
615 322 : if (length_base_name_1 > size_base_name_1) {
616 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_base_name_1, length_base_name_1);
617 : }
618 322 : NDR_CHECK(ndr_check_string_terminator(ndr, length_base_name_1, sizeof(uint8_t)));
619 322 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->base_name, length_base_name_1, sizeof(uint8_t), CH_UTF8));
620 322 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_base_name_0, 0);
621 : }
622 322 : NDR_CHECK(ndr_pull_vfs_default_durable_stat(ndr, NDR_BUFFERS, &r->stat_info));
623 : }
624 322 : return NDR_ERR_SUCCESS;
625 : }
626 :
627 0 : static void ndr_print_flags_vfs_default_durable_cookie(struct ndr_print *ndr, const char *name, int unused, const struct vfs_default_durable_cookie *r)
628 : {
629 0 : ndr_print_vfs_default_durable_cookie(ndr, name, r);
630 0 : }
631 :
632 0 : _PUBLIC_ void ndr_print_vfs_default_durable_cookie(struct ndr_print *ndr, const char *name, const struct vfs_default_durable_cookie *r)
633 : {
634 0 : ndr_print_struct(ndr, name, "vfs_default_durable_cookie");
635 0 : if (r == NULL) { ndr_print_null(ndr); return; }
636 0 : ndr->depth++;
637 0 : ndr_print_string(ndr, "magic", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?VFS_DEFAULT_DURABLE_COOKIE_MAGIC:r->magic);
638 0 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?VFS_DEFAULT_DURABLE_COOKIE_VERSION:r->version);
639 0 : ndr_print_uint8(ndr, "allow_reconnect", r->allow_reconnect);
640 0 : ndr_print_file_id(ndr, "id", &r->id);
641 0 : ndr_print_ptr(ndr, "servicepath", r->servicepath);
642 0 : ndr->depth++;
643 0 : if (r->servicepath) {
644 0 : ndr_print_string(ndr, "servicepath", r->servicepath);
645 : }
646 0 : ndr->depth--;
647 0 : ndr_print_ptr(ndr, "base_name", r->base_name);
648 0 : ndr->depth++;
649 0 : if (r->base_name) {
650 0 : ndr_print_string(ndr, "base_name", r->base_name);
651 : }
652 0 : ndr->depth--;
653 0 : ndr_print_hyper(ndr, "initial_allocation_size", r->initial_allocation_size);
654 0 : ndr_print_hyper(ndr, "position_information", r->position_information);
655 0 : ndr_print_uint8(ndr, "update_write_time_triggered", r->update_write_time_triggered);
656 0 : ndr_print_uint8(ndr, "update_write_time_on_close", r->update_write_time_on_close);
657 0 : ndr_print_uint8(ndr, "write_time_forced", r->write_time_forced);
658 0 : ndr_print_NTTIME(ndr, "close_write_time", r->close_write_time);
659 0 : ndr_print_vfs_default_durable_stat(ndr, "stat_info", &r->stat_info);
660 0 : ndr->depth--;
661 : }
662 :
663 669 : _PUBLIC_ enum ndr_err_code ndr_push_oplock_break_message(struct ndr_push *ndr, int ndr_flags, const struct oplock_break_message *r)
664 : {
665 669 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
666 669 : if (ndr_flags & NDR_SCALARS) {
667 669 : NDR_CHECK(ndr_push_align(ndr, 4));
668 669 : NDR_CHECK(ndr_push_file_id(ndr, NDR_SCALARS, &r->id));
669 669 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->share_file_id));
670 669 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->break_to));
671 669 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
672 : }
673 669 : if (ndr_flags & NDR_BUFFERS) {
674 : }
675 669 : return NDR_ERR_SUCCESS;
676 : }
677 :
678 667 : _PUBLIC_ enum ndr_err_code ndr_pull_oplock_break_message(struct ndr_pull *ndr, int ndr_flags, struct oplock_break_message *r)
679 : {
680 667 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
681 667 : if (ndr_flags & NDR_SCALARS) {
682 667 : NDR_CHECK(ndr_pull_align(ndr, 4));
683 667 : NDR_CHECK(ndr_pull_file_id(ndr, NDR_SCALARS, &r->id));
684 667 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->share_file_id));
685 667 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->break_to));
686 667 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
687 : }
688 667 : if (ndr_flags & NDR_BUFFERS) {
689 : }
690 667 : return NDR_ERR_SUCCESS;
691 : }
692 :
693 0 : static void ndr_print_flags_oplock_break_message(struct ndr_print *ndr, const char *name, int unused, const struct oplock_break_message *r)
694 : {
695 0 : ndr_print_oplock_break_message(ndr, name, r);
696 0 : }
697 :
698 0 : _PUBLIC_ void ndr_print_oplock_break_message(struct ndr_print *ndr, const char *name, const struct oplock_break_message *r)
699 : {
700 0 : ndr_print_struct(ndr, name, "oplock_break_message");
701 0 : if (r == NULL) { ndr_print_null(ndr); return; }
702 0 : ndr->depth++;
703 0 : ndr_print_file_id(ndr, "id", &r->id);
704 0 : ndr_print_udlong(ndr, "share_file_id", r->share_file_id);
705 0 : ndr_print_uint8(ndr, "break_to", r->break_to);
706 0 : ndr->depth--;
707 : }
708 :
709 22 : _PUBLIC_ enum ndr_err_code ndr_push_file_rename_message(struct ndr_push *ndr, int ndr_flags, const struct file_rename_message *r)
710 : {
711 22 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
712 22 : if (ndr_flags & NDR_SCALARS) {
713 22 : NDR_CHECK(ndr_push_align(ndr, 5));
714 22 : NDR_CHECK(ndr_push_file_id(ndr, NDR_SCALARS, &r->id));
715 22 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->share_file_id));
716 22 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->servicepath));
717 22 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->base_name));
718 22 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->stream_name));
719 22 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
720 : }
721 22 : if (ndr_flags & NDR_BUFFERS) {
722 22 : if (r->servicepath) {
723 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servicepath, CH_UTF8)));
724 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
725 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servicepath, CH_UTF8)));
726 22 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servicepath, ndr_charset_length(r->servicepath, CH_UTF8), sizeof(uint8_t), CH_UTF8));
727 : }
728 22 : if (r->base_name) {
729 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->base_name, CH_UTF8)));
730 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
731 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->base_name, CH_UTF8)));
732 22 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->base_name, ndr_charset_length(r->base_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
733 : }
734 22 : if (r->stream_name) {
735 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->stream_name, CH_UTF8)));
736 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
737 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->stream_name, CH_UTF8)));
738 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->stream_name, ndr_charset_length(r->stream_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
739 : }
740 : }
741 20 : return NDR_ERR_SUCCESS;
742 : }
743 :
744 22 : _PUBLIC_ enum ndr_err_code ndr_pull_file_rename_message(struct ndr_pull *ndr, int ndr_flags, struct file_rename_message *r)
745 : {
746 : uint32_t _ptr_servicepath;
747 22 : uint32_t size_servicepath_1 = 0;
748 22 : uint32_t length_servicepath_1 = 0;
749 22 : TALLOC_CTX *_mem_save_servicepath_0 = NULL;
750 : uint32_t _ptr_base_name;
751 22 : uint32_t size_base_name_1 = 0;
752 22 : uint32_t length_base_name_1 = 0;
753 22 : TALLOC_CTX *_mem_save_base_name_0 = NULL;
754 : uint32_t _ptr_stream_name;
755 22 : uint32_t size_stream_name_1 = 0;
756 22 : uint32_t length_stream_name_1 = 0;
757 22 : TALLOC_CTX *_mem_save_stream_name_0 = NULL;
758 22 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
759 22 : if (ndr_flags & NDR_SCALARS) {
760 22 : NDR_CHECK(ndr_pull_align(ndr, 5));
761 22 : NDR_CHECK(ndr_pull_file_id(ndr, NDR_SCALARS, &r->id));
762 22 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->share_file_id));
763 22 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servicepath));
764 22 : if (_ptr_servicepath) {
765 22 : NDR_PULL_ALLOC(ndr, r->servicepath);
766 : } else {
767 0 : r->servicepath = NULL;
768 : }
769 22 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_base_name));
770 22 : if (_ptr_base_name) {
771 22 : NDR_PULL_ALLOC(ndr, r->base_name);
772 : } else {
773 0 : r->base_name = NULL;
774 : }
775 22 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_stream_name));
776 22 : if (_ptr_stream_name) {
777 0 : NDR_PULL_ALLOC(ndr, r->stream_name);
778 : } else {
779 22 : r->stream_name = NULL;
780 : }
781 22 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
782 : }
783 22 : if (ndr_flags & NDR_BUFFERS) {
784 22 : if (r->servicepath) {
785 22 : _mem_save_servicepath_0 = NDR_PULL_GET_MEM_CTX(ndr);
786 22 : NDR_PULL_SET_MEM_CTX(ndr, r->servicepath, 0);
787 22 : NDR_CHECK(ndr_pull_array_size(ndr, &r->servicepath));
788 22 : NDR_CHECK(ndr_pull_array_length(ndr, &r->servicepath));
789 22 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->servicepath, &size_servicepath_1));
790 22 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->servicepath, &length_servicepath_1));
791 22 : if (length_servicepath_1 > size_servicepath_1) {
792 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servicepath_1, length_servicepath_1);
793 : }
794 22 : NDR_CHECK(ndr_check_string_terminator(ndr, length_servicepath_1, sizeof(uint8_t)));
795 22 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servicepath, length_servicepath_1, sizeof(uint8_t), CH_UTF8));
796 22 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servicepath_0, 0);
797 : }
798 22 : if (r->base_name) {
799 22 : _mem_save_base_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
800 22 : NDR_PULL_SET_MEM_CTX(ndr, r->base_name, 0);
801 22 : NDR_CHECK(ndr_pull_array_size(ndr, &r->base_name));
802 22 : NDR_CHECK(ndr_pull_array_length(ndr, &r->base_name));
803 22 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->base_name, &size_base_name_1));
804 22 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->base_name, &length_base_name_1));
805 22 : if (length_base_name_1 > size_base_name_1) {
806 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_base_name_1, length_base_name_1);
807 : }
808 22 : NDR_CHECK(ndr_check_string_terminator(ndr, length_base_name_1, sizeof(uint8_t)));
809 22 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->base_name, length_base_name_1, sizeof(uint8_t), CH_UTF8));
810 22 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_base_name_0, 0);
811 : }
812 22 : if (r->stream_name) {
813 0 : _mem_save_stream_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
814 0 : NDR_PULL_SET_MEM_CTX(ndr, r->stream_name, 0);
815 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->stream_name));
816 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->stream_name));
817 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->stream_name, &size_stream_name_1));
818 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->stream_name, &length_stream_name_1));
819 0 : if (length_stream_name_1 > size_stream_name_1) {
820 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_stream_name_1, length_stream_name_1);
821 : }
822 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_stream_name_1, sizeof(uint8_t)));
823 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->stream_name, length_stream_name_1, sizeof(uint8_t), CH_UTF8));
824 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stream_name_0, 0);
825 : }
826 : }
827 20 : return NDR_ERR_SUCCESS;
828 : }
829 :
830 0 : static void ndr_print_flags_file_rename_message(struct ndr_print *ndr, const char *name, int unused, const struct file_rename_message *r)
831 : {
832 0 : ndr_print_file_rename_message(ndr, name, r);
833 0 : }
834 :
835 0 : _PUBLIC_ void ndr_print_file_rename_message(struct ndr_print *ndr, const char *name, const struct file_rename_message *r)
836 : {
837 0 : ndr_print_struct(ndr, name, "file_rename_message");
838 0 : if (r == NULL) { ndr_print_null(ndr); return; }
839 0 : ndr->depth++;
840 0 : ndr_print_file_id(ndr, "id", &r->id);
841 0 : ndr_print_udlong(ndr, "share_file_id", r->share_file_id);
842 0 : ndr_print_ptr(ndr, "servicepath", r->servicepath);
843 0 : ndr->depth++;
844 0 : if (r->servicepath) {
845 0 : ndr_print_string(ndr, "servicepath", r->servicepath);
846 : }
847 0 : ndr->depth--;
848 0 : ndr_print_ptr(ndr, "base_name", r->base_name);
849 0 : ndr->depth++;
850 0 : if (r->base_name) {
851 0 : ndr_print_string(ndr, "base_name", r->base_name);
852 : }
853 0 : ndr->depth--;
854 0 : ndr_print_ptr(ndr, "stream_name", r->stream_name);
855 0 : ndr->depth++;
856 0 : if (r->stream_name) {
857 0 : ndr_print_string(ndr, "stream_name", r->stream_name);
858 : }
859 0 : ndr->depth--;
860 0 : ndr->depth--;
861 : }
862 :
863 : #ifndef SKIP_NDR_TABLE_open_files
864 : static const struct ndr_interface_public_struct open_files_public_structs[] = {
865 : {
866 : .name = "share_mode_entry",
867 : .struct_size = sizeof(struct share_mode_entry ),
868 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_share_mode_entry,
869 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_share_mode_entry,
870 : .ndr_print = (ndr_print_function_t) ndr_print_flags_share_mode_entry,
871 : },
872 : {
873 : .name = "delete_token",
874 : .struct_size = sizeof(struct delete_token ),
875 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_delete_token,
876 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_delete_token,
877 : .ndr_print = (ndr_print_function_t) ndr_print_flags_delete_token,
878 : },
879 : {
880 : .name = "share_mode_data",
881 : .struct_size = sizeof(struct share_mode_data ),
882 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_share_mode_data,
883 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_share_mode_data,
884 : .ndr_print = (ndr_print_function_t) ndr_print_flags_share_mode_data,
885 : },
886 : {
887 : .name = "vfs_default_durable_cookie",
888 : .struct_size = sizeof(struct vfs_default_durable_cookie ),
889 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_vfs_default_durable_cookie,
890 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_vfs_default_durable_cookie,
891 : .ndr_print = (ndr_print_function_t) ndr_print_flags_vfs_default_durable_cookie,
892 : },
893 : {
894 : .name = "oplock_break_message",
895 : .struct_size = sizeof(struct oplock_break_message ),
896 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_oplock_break_message,
897 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_oplock_break_message,
898 : .ndr_print = (ndr_print_function_t) ndr_print_flags_oplock_break_message,
899 : },
900 : {
901 : .name = "file_rename_message",
902 : .struct_size = sizeof(struct file_rename_message ),
903 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_file_rename_message,
904 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_file_rename_message,
905 : .ndr_print = (ndr_print_function_t) ndr_print_flags_file_rename_message,
906 : },
907 : { .name = NULL }
908 : };
909 :
910 : static const struct ndr_interface_call open_files_calls[] = {
911 : { .name = NULL }
912 : };
913 :
914 : static const char * const open_files_endpoint_strings[] = {
915 : "ncacn_np:[\\pipe\\open_files]",
916 : };
917 :
918 : static const struct ndr_interface_string_array open_files_endpoints = {
919 : .count = 1,
920 : .names = open_files_endpoint_strings
921 : };
922 :
923 : static const char * const open_files_authservice_strings[] = {
924 : "host",
925 : };
926 :
927 : static const struct ndr_interface_string_array open_files_authservices = {
928 : .count = 1,
929 : .names = open_files_authservice_strings
930 : };
931 :
932 :
933 : const struct ndr_interface_table ndr_table_open_files = {
934 : .name = "open_files",
935 : .num_calls = 0,
936 : .calls = open_files_calls,
937 : .num_public_structs = 6,
938 : .public_structs = open_files_public_structs,
939 : .endpoints = &open_files_endpoints,
940 : .authservices = &open_files_authservices
941 : };
942 :
943 : #endif /* SKIP_NDR_TABLE_open_files */
|