LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_mdssvc.c (source / functions) Hit Total Coverage
Test: coverage report for master 2b515b7d Lines: 362 557 65.0 %
Date: 2024-02-28 12:06:22 Functions: 10 16 62.5 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_mdssvc.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_misc.h"
       7         147 : _PUBLIC_ enum ndr_err_code ndr_push_mdssvc_blob(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct mdssvc_blob *r)
       8             : {
       9         147 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      10         147 :         if (ndr_flags & NDR_SCALARS) {
      11         147 :                 NDR_CHECK(ndr_push_align(ndr, 5));
      12         147 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
      13         147 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
      14         147 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spotlight_blob));
      15         147 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
      16             :         }
      17         147 :         if (ndr_flags & NDR_BUFFERS) {
      18         147 :                 if (r->spotlight_blob) {
      19         144 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
      20         144 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      21         144 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
      22         144 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->spotlight_blob, r->length));
      23             :                 }
      24             :         }
      25         147 :         return NDR_ERR_SUCCESS;
      26             : }
      27             : 
      28         147 : _PUBLIC_ enum ndr_err_code ndr_pull_mdssvc_blob(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct mdssvc_blob *r)
      29             : {
      30           0 :         uint32_t _ptr_spotlight_blob;
      31         147 :         uint32_t size_spotlight_blob_1 = 0;
      32         147 :         uint32_t length_spotlight_blob_1 = 0;
      33         147 :         TALLOC_CTX *_mem_save_spotlight_blob_0 = NULL;
      34         147 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      35         147 :         if (ndr_flags & NDR_SCALARS) {
      36         147 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
      37         147 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
      38         147 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
      39         147 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spotlight_blob));
      40         147 :                 if (_ptr_spotlight_blob) {
      41         144 :                         NDR_PULL_ALLOC(ndr, r->spotlight_blob);
      42             :                 } else {
      43           3 :                         r->spotlight_blob = NULL;
      44             :                 }
      45         147 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
      46             :         }
      47         147 :         if (ndr_flags & NDR_BUFFERS) {
      48         147 :                 if (r->spotlight_blob) {
      49         144 :                         _mem_save_spotlight_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
      50         144 :                         NDR_PULL_SET_MEM_CTX(ndr, r->spotlight_blob, 0);
      51         144 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->spotlight_blob));
      52         144 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->spotlight_blob));
      53         144 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->spotlight_blob, &size_spotlight_blob_1));
      54         144 :                         NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->spotlight_blob, &length_spotlight_blob_1));
      55         144 :                         if (length_spotlight_blob_1 > size_spotlight_blob_1) {
      56           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_spotlight_blob_1, length_spotlight_blob_1);
      57             :                         }
      58         144 :                         NDR_PULL_ALLOC_N(ndr, r->spotlight_blob, size_spotlight_blob_1);
      59         144 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->spotlight_blob, length_spotlight_blob_1));
      60         144 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spotlight_blob_0, 0);
      61             :                 }
      62         147 :                 if (r->spotlight_blob) {
      63         144 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->spotlight_blob, r->size));
      64             :                 }
      65         147 :                 if (r->spotlight_blob) {
      66         144 :                         NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->spotlight_blob, r->length));
      67             :                 }
      68             :         }
      69         147 :         return NDR_ERR_SUCCESS;
      70             : }
      71             : 
      72           0 : static void ndr_print_flags_mdssvc_blob(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct mdssvc_blob *r)
      73             : {
      74           0 :         ndr_print_mdssvc_blob(ndr, name, r);
      75           0 : }
      76             : 
      77           0 : _PUBLIC_ void ndr_print_mdssvc_blob(struct ndr_print *ndr, const char *name, const struct mdssvc_blob *r)
      78             : {
      79           0 :         ndr_print_struct(ndr, name, "mdssvc_blob");
      80           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
      81           0 :         ndr->depth++;
      82           0 :         ndr_print_uint32(ndr, "length", r->length);
      83           0 :         ndr_print_uint32(ndr, "size", r->size);
      84           0 :         ndr_print_ptr(ndr, "spotlight_blob", r->spotlight_blob);
      85           0 :         ndr->depth++;
      86           0 :         if (r->spotlight_blob) {
      87           0 :                 ndr_print_array_uint8(ndr, "spotlight_blob", r->spotlight_blob, r->length);
      88             :         }
      89           0 :         ndr->depth--;
      90           0 :         ndr->depth--;
      91             : }
      92             : 
      93          64 : static enum ndr_err_code ndr_push_mdssvc_open(struct ndr_push *ndr, ndr_flags_type flags, const struct mdssvc_open *r)
      94             : {
      95          64 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
      96          64 :         if (flags & NDR_IN) {
      97          36 :                 if (r->in.device_id == NULL) {
      98           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      99             :                 }
     100          36 :                 if (r->in.unkn2 == NULL) {
     101           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     102             :                 }
     103          36 :                 if (r->in.unkn3 == NULL) {
     104           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     105             :                 }
     106          36 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.device_id));
     107          36 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.unkn2));
     108          36 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.unkn3));
     109          36 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1025));
     110          36 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     111          36 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_mount_path, CH_UTF8)));
     112          36 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share_mount_path, ndr_charset_length(r->in.share_mount_path, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     113          36 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1025));
     114          36 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     115          36 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF8)));
     116          36 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share_name, ndr_charset_length(r->in.share_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     117             :         }
     118          64 :         if (flags & NDR_OUT) {
     119          28 :                 if (r->out.device_id == NULL) {
     120           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     121             :                 }
     122          28 :                 if (r->out.unkn2 == NULL) {
     123           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     124             :                 }
     125          28 :                 if (r->out.unkn3 == NULL) {
     126           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     127             :                 }
     128          28 :                 if (r->out.handle == NULL) {
     129           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     130             :                 }
     131          28 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.device_id));
     132          28 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unkn2));
     133          28 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unkn3));
     134          28 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1025));
     135          28 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     136          28 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->out.share_path, CH_UTF8)));
     137          28 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.share_path, ndr_charset_length(r->out.share_path, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     138          28 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
     139             :         }
     140          64 :         return NDR_ERR_SUCCESS;
     141             : }
     142             : 
     143          64 : static enum ndr_err_code ndr_pull_mdssvc_open(struct ndr_pull *ndr, ndr_flags_type flags, struct mdssvc_open *r)
     144             : {
     145          64 :         uint32_t size_share_mount_path_0 = 0;
     146          64 :         uint32_t length_share_mount_path_0 = 0;
     147          64 :         uint32_t size_share_name_0 = 0;
     148          64 :         uint32_t length_share_name_0 = 0;
     149          64 :         uint32_t size_share_path_0 = 0;
     150          64 :         uint32_t length_share_path_0 = 0;
     151          64 :         TALLOC_CTX *_mem_save_device_id_0 = NULL;
     152          64 :         TALLOC_CTX *_mem_save_unkn2_0 = NULL;
     153          64 :         TALLOC_CTX *_mem_save_unkn3_0 = NULL;
     154          64 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
     155          64 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     156          64 :         if (flags & NDR_IN) {
     157          28 :                 NDR_ZERO_STRUCT(r->out);
     158             : 
     159          28 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     160          28 :                         NDR_PULL_ALLOC(ndr, r->in.device_id);
     161             :                 }
     162          28 :                 _mem_save_device_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
     163          28 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.device_id, LIBNDR_FLAG_REF_ALLOC);
     164          28 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.device_id));
     165          28 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_id_0, LIBNDR_FLAG_REF_ALLOC);
     166          28 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     167          28 :                         NDR_PULL_ALLOC(ndr, r->in.unkn2);
     168             :                 }
     169          28 :                 _mem_save_unkn2_0 = NDR_PULL_GET_MEM_CTX(ndr);
     170          28 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.unkn2, LIBNDR_FLAG_REF_ALLOC);
     171          28 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.unkn2));
     172          28 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn2_0, LIBNDR_FLAG_REF_ALLOC);
     173          28 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     174          28 :                         NDR_PULL_ALLOC(ndr, r->in.unkn3);
     175             :                 }
     176          28 :                 _mem_save_unkn3_0 = NDR_PULL_GET_MEM_CTX(ndr);
     177          28 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.unkn3, LIBNDR_FLAG_REF_ALLOC);
     178          28 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.unkn3));
     179          28 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn3_0, LIBNDR_FLAG_REF_ALLOC);
     180          28 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_mount_path));
     181          28 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_mount_path));
     182          28 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.share_mount_path, &size_share_mount_path_0));
     183          28 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.share_mount_path, &length_share_mount_path_0));
     184          28 :                 if (length_share_mount_path_0 > size_share_mount_path_0) {
     185           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_share_mount_path_0, length_share_mount_path_0);
     186             :                 }
     187          28 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_share_mount_path_0, sizeof(uint8_t)));
     188          28 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_mount_path, length_share_mount_path_0, sizeof(uint8_t), CH_UTF8));
     189          28 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name));
     190          28 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name));
     191          28 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.share_name, &size_share_name_0));
     192          28 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.share_name, &length_share_name_0));
     193          28 :                 if (length_share_name_0 > size_share_name_0) {
     194           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_share_name_0, length_share_name_0);
     195             :                 }
     196          28 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_share_name_0, sizeof(uint8_t)));
     197          28 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, length_share_name_0, sizeof(uint8_t), CH_UTF8));
     198          28 :                 NDR_PULL_ALLOC(ndr, r->out.device_id);
     199          28 :                 *r->out.device_id = *r->in.device_id;
     200          28 :                 NDR_PULL_ALLOC(ndr, r->out.unkn2);
     201          28 :                 *r->out.unkn2 = *r->in.unkn2;
     202          28 :                 NDR_PULL_ALLOC(ndr, r->out.unkn3);
     203          28 :                 *r->out.unkn3 = *r->in.unkn3;
     204          28 :                 NDR_PULL_ALLOC(ndr, r->out.handle);
     205          28 :                 NDR_ZERO_STRUCTP(r->out.handle);
     206          28 :                 if (r->in.share_mount_path) {
     207          28 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.share_mount_path, 1025));
     208             :                 }
     209          28 :                 if (r->in.share_name) {
     210          28 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.share_name, 1025));
     211             :                 }
     212             :         }
     213          64 :         if (flags & NDR_OUT) {
     214             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     215             :                 if (r->in.device_id == NULL) {
     216             :                         NDR_PULL_ALLOC(ndr, r->in.device_id);
     217             :                         NDR_ZERO_STRUCTP(r->in.device_id);
     218             :                 }
     219             :                 if (r->in.unkn2 == NULL) {
     220             :                         NDR_PULL_ALLOC(ndr, r->in.unkn2);
     221             :                         NDR_ZERO_STRUCTP(r->in.unkn2);
     222             :                 }
     223             :                 if (r->in.unkn3 == NULL) {
     224             :                         NDR_PULL_ALLOC(ndr, r->in.unkn3);
     225             :                         NDR_ZERO_STRUCTP(r->in.unkn3);
     226             :                 }
     227             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
     228          36 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     229          15 :                         NDR_PULL_ALLOC(ndr, r->out.device_id);
     230             :                 }
     231          36 :                 _mem_save_device_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
     232          36 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.device_id, LIBNDR_FLAG_REF_ALLOC);
     233          36 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.device_id));
     234          36 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_id_0, LIBNDR_FLAG_REF_ALLOC);
     235          36 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     236          15 :                         NDR_PULL_ALLOC(ndr, r->out.unkn2);
     237             :                 }
     238          36 :                 _mem_save_unkn2_0 = NDR_PULL_GET_MEM_CTX(ndr);
     239          36 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unkn2, LIBNDR_FLAG_REF_ALLOC);
     240          36 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unkn2));
     241          36 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn2_0, LIBNDR_FLAG_REF_ALLOC);
     242          36 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     243          15 :                         NDR_PULL_ALLOC(ndr, r->out.unkn3);
     244             :                 }
     245          36 :                 _mem_save_unkn3_0 = NDR_PULL_GET_MEM_CTX(ndr);
     246          36 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unkn3, LIBNDR_FLAG_REF_ALLOC);
     247          36 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unkn3));
     248          36 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn3_0, LIBNDR_FLAG_REF_ALLOC);
     249          36 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.share_path));
     250          36 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->out.share_path));
     251          36 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->out.share_path, &size_share_path_0));
     252          36 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->out.share_path, &length_share_path_0));
     253          36 :                 if (length_share_path_0 > size_share_path_0) {
     254           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_share_path_0, length_share_path_0);
     255             :                 }
     256          36 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_share_path_0, sizeof(uint8_t)));
     257          36 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->out.share_path, length_share_path_0, sizeof(uint8_t), CH_UTF8));
     258          36 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     259          15 :                         NDR_PULL_ALLOC(ndr, r->out.handle);
     260             :                 }
     261          36 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     262          36 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
     263          36 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
     264          36 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
     265          36 :                 if (r->out.share_path) {
     266          36 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->out.share_path, 1025));
     267             :                 }
     268             :         }
     269          64 :         return NDR_ERR_SUCCESS;
     270             : }
     271             : 
     272           0 : _PUBLIC_ void ndr_print_mdssvc_open(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct mdssvc_open *r)
     273             : {
     274           0 :         ndr_print_struct(ndr, name, "mdssvc_open");
     275           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     276           0 :         ndr->depth++;
     277           0 :         if (flags & NDR_SET_VALUES) {
     278           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
     279             :         }
     280           0 :         if (flags & NDR_IN) {
     281           0 :                 ndr_print_struct(ndr, "in", "mdssvc_open");
     282           0 :                 ndr->depth++;
     283           0 :                 ndr_print_ptr(ndr, "device_id", r->in.device_id);
     284           0 :                 ndr->depth++;
     285           0 :                 ndr_print_uint32(ndr, "device_id", *r->in.device_id);
     286           0 :                 ndr->depth--;
     287           0 :                 ndr_print_ptr(ndr, "unkn2", r->in.unkn2);
     288           0 :                 ndr->depth++;
     289           0 :                 ndr_print_uint32(ndr, "unkn2", *r->in.unkn2);
     290           0 :                 ndr->depth--;
     291           0 :                 ndr_print_ptr(ndr, "unkn3", r->in.unkn3);
     292           0 :                 ndr->depth++;
     293           0 :                 ndr_print_uint32(ndr, "unkn3", *r->in.unkn3);
     294           0 :                 ndr->depth--;
     295           0 :                 ndr_print_string(ndr, "share_mount_path", r->in.share_mount_path);
     296           0 :                 ndr_print_string(ndr, "share_name", r->in.share_name);
     297           0 :                 ndr->depth--;
     298             :         }
     299           0 :         if (flags & NDR_OUT) {
     300           0 :                 ndr_print_struct(ndr, "out", "mdssvc_open");
     301           0 :                 ndr->depth++;
     302           0 :                 ndr_print_ptr(ndr, "device_id", r->out.device_id);
     303           0 :                 ndr->depth++;
     304           0 :                 ndr_print_uint32(ndr, "device_id", *r->out.device_id);
     305           0 :                 ndr->depth--;
     306           0 :                 ndr_print_ptr(ndr, "unkn2", r->out.unkn2);
     307           0 :                 ndr->depth++;
     308           0 :                 ndr_print_uint32(ndr, "unkn2", *r->out.unkn2);
     309           0 :                 ndr->depth--;
     310           0 :                 ndr_print_ptr(ndr, "unkn3", r->out.unkn3);
     311           0 :                 ndr->depth++;
     312           0 :                 ndr_print_uint32(ndr, "unkn3", *r->out.unkn3);
     313           0 :                 ndr->depth--;
     314           0 :                 ndr_print_string(ndr, "share_path", r->out.share_path);
     315           0 :                 ndr_print_ptr(ndr, "handle", r->out.handle);
     316           0 :                 ndr->depth++;
     317           0 :                 ndr_print_policy_handle(ndr, "handle", r->out.handle);
     318           0 :                 ndr->depth--;
     319           0 :                 ndr->depth--;
     320             :         }
     321           0 :         ndr->depth--;
     322             : }
     323             : 
     324          55 : static enum ndr_err_code ndr_push_mdssvc_unknown1(struct ndr_push *ndr, ndr_flags_type flags, const struct mdssvc_unknown1 *r)
     325             : {
     326          55 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
     327          55 :         if (flags & NDR_IN) {
     328          33 :                 if (r->in.handle == NULL) {
     329           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     330             :                 }
     331          33 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
     332          33 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn1));
     333          33 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.device_id));
     334          33 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn3));
     335          33 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn4));
     336          33 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.uid));
     337          33 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.gid));
     338             :         }
     339          55 :         if (flags & NDR_OUT) {
     340          22 :                 if (r->out.status == NULL) {
     341           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     342             :                 }
     343          22 :                 if (r->out.flags == NULL) {
     344           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     345             :                 }
     346          22 :                 if (r->out.unkn7 == NULL) {
     347           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     348             :                 }
     349          22 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.status));
     350          22 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
     351          22 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unkn7));
     352             :         }
     353          55 :         return NDR_ERR_SUCCESS;
     354             : }
     355             : 
     356          55 : static enum ndr_err_code ndr_pull_mdssvc_unknown1(struct ndr_pull *ndr, ndr_flags_type flags, struct mdssvc_unknown1 *r)
     357             : {
     358          55 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
     359          55 :         TALLOC_CTX *_mem_save_status_0 = NULL;
     360          55 :         TALLOC_CTX *_mem_save_flags_0 = NULL;
     361          55 :         TALLOC_CTX *_mem_save_unkn7_0 = NULL;
     362          55 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     363          55 :         if (flags & NDR_IN) {
     364          25 :                 NDR_ZERO_STRUCT(r->out);
     365             : 
     366          25 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     367          25 :                         NDR_PULL_ALLOC(ndr, r->in.handle);
     368             :                 }
     369          25 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     370          25 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
     371          25 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
     372          25 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
     373          25 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn1));
     374          25 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.device_id));
     375          25 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn3));
     376          25 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn4));
     377          25 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.uid));
     378          25 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.gid));
     379          25 :                 NDR_PULL_ALLOC(ndr, r->out.status);
     380          25 :                 NDR_ZERO_STRUCTP(r->out.status);
     381          25 :                 NDR_PULL_ALLOC(ndr, r->out.flags);
     382          25 :                 NDR_ZERO_STRUCTP(r->out.flags);
     383          25 :                 NDR_PULL_ALLOC(ndr, r->out.unkn7);
     384          25 :                 NDR_ZERO_STRUCTP(r->out.unkn7);
     385             :         }
     386          55 :         if (flags & NDR_OUT) {
     387             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     388             :                 if (r->in.handle == NULL) {
     389             :                         NDR_PULL_ALLOC(ndr, r->in.handle);
     390             :                         NDR_ZERO_STRUCTP(r->in.handle);
     391             :                 }
     392             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
     393          30 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     394          15 :                         NDR_PULL_ALLOC(ndr, r->out.status);
     395             :                 }
     396          30 :                 _mem_save_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
     397          30 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.status, LIBNDR_FLAG_REF_ALLOC);
     398          30 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.status));
     399          30 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_0, LIBNDR_FLAG_REF_ALLOC);
     400          30 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     401          15 :                         NDR_PULL_ALLOC(ndr, r->out.flags);
     402             :                 }
     403          30 :                 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
     404          30 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
     405          30 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
     406          30 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
     407          30 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     408          15 :                         NDR_PULL_ALLOC(ndr, r->out.unkn7);
     409             :                 }
     410          30 :                 _mem_save_unkn7_0 = NDR_PULL_GET_MEM_CTX(ndr);
     411          30 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unkn7, LIBNDR_FLAG_REF_ALLOC);
     412          30 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unkn7));
     413          30 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn7_0, LIBNDR_FLAG_REF_ALLOC);
     414             :         }
     415          55 :         return NDR_ERR_SUCCESS;
     416             : }
     417             : 
     418           0 : _PUBLIC_ void ndr_print_mdssvc_unknown1(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct mdssvc_unknown1 *r)
     419             : {
     420           0 :         ndr_print_struct(ndr, name, "mdssvc_unknown1");
     421           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     422           0 :         ndr->depth++;
     423           0 :         if (flags & NDR_SET_VALUES) {
     424           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
     425             :         }
     426           0 :         if (flags & NDR_IN) {
     427           0 :                 ndr_print_struct(ndr, "in", "mdssvc_unknown1");
     428           0 :                 ndr->depth++;
     429           0 :                 ndr_print_ptr(ndr, "handle", r->in.handle);
     430           0 :                 ndr->depth++;
     431           0 :                 ndr_print_policy_handle(ndr, "handle", r->in.handle);
     432           0 :                 ndr->depth--;
     433           0 :                 ndr_print_uint32(ndr, "unkn1", r->in.unkn1);
     434           0 :                 ndr_print_uint32(ndr, "device_id", r->in.device_id);
     435           0 :                 ndr_print_uint32(ndr, "unkn3", r->in.unkn3);
     436           0 :                 ndr_print_uint32(ndr, "unkn4", r->in.unkn4);
     437           0 :                 ndr_print_uint32(ndr, "uid", r->in.uid);
     438           0 :                 ndr_print_uint32(ndr, "gid", r->in.gid);
     439           0 :                 ndr->depth--;
     440             :         }
     441           0 :         if (flags & NDR_OUT) {
     442           0 :                 ndr_print_struct(ndr, "out", "mdssvc_unknown1");
     443           0 :                 ndr->depth++;
     444           0 :                 ndr_print_ptr(ndr, "status", r->out.status);
     445           0 :                 ndr->depth++;
     446           0 :                 ndr_print_uint32(ndr, "status", *r->out.status);
     447           0 :                 ndr->depth--;
     448           0 :                 ndr_print_ptr(ndr, "flags", r->out.flags);
     449           0 :                 ndr->depth++;
     450           0 :                 ndr_print_uint32(ndr, "flags", *r->out.flags);
     451           0 :                 ndr->depth--;
     452           0 :                 ndr_print_ptr(ndr, "unkn7", r->out.unkn7);
     453           0 :                 ndr->depth++;
     454           0 :                 ndr_print_uint32(ndr, "unkn7", *r->out.unkn7);
     455           0 :                 ndr->depth--;
     456           0 :                 ndr->depth--;
     457             :         }
     458           0 :         ndr->depth--;
     459             : }
     460             : 
     461         147 : static enum ndr_err_code ndr_push_mdssvc_cmd(struct ndr_push *ndr, ndr_flags_type flags, const struct mdssvc_cmd *r)
     462             : {
     463         147 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
     464         147 :         if (flags & NDR_IN) {
     465          96 :                 if (r->in.handle == NULL) {
     466           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     467             :                 }
     468          96 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
     469          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn1));
     470          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.device_id));
     471          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn3));
     472          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.next_fragment));
     473          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
     474          96 :                 NDR_CHECK(ndr_push_mdssvc_blob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.request_blob));
     475          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn5));
     476          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_fragment_size1));
     477          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn6));
     478          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_fragment_size2));
     479          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn7));
     480          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn8));
     481             :         }
     482         147 :         if (flags & NDR_OUT) {
     483          51 :                 if (r->out.fragment == NULL) {
     484           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     485             :                 }
     486          51 :                 if (r->out.response_blob == NULL) {
     487           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     488             :                 }
     489          51 :                 if (r->out.unkn9 == NULL) {
     490           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     491             :                 }
     492          51 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.fragment));
     493          51 :                 NDR_CHECK(ndr_push_mdssvc_blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.response_blob));
     494          51 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unkn9));
     495             :         }
     496         147 :         return NDR_ERR_SUCCESS;
     497             : }
     498             : 
     499         147 : static enum ndr_err_code ndr_pull_mdssvc_cmd(struct ndr_pull *ndr, ndr_flags_type flags, struct mdssvc_cmd *r)
     500             : {
     501         147 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
     502         147 :         TALLOC_CTX *_mem_save_fragment_0 = NULL;
     503         147 :         TALLOC_CTX *_mem_save_response_blob_0 = NULL;
     504         147 :         TALLOC_CTX *_mem_save_unkn9_0 = NULL;
     505         147 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     506         147 :         if (flags & NDR_IN) {
     507          54 :                 NDR_ZERO_STRUCT(r->out);
     508             : 
     509          54 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     510          54 :                         NDR_PULL_ALLOC(ndr, r->in.handle);
     511             :                 }
     512          54 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     513          54 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
     514          54 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
     515          54 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
     516          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn1));
     517          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.device_id));
     518          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn3));
     519          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.next_fragment));
     520          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
     521          54 :                 NDR_CHECK(ndr_pull_mdssvc_blob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.request_blob));
     522          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn5));
     523          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_fragment_size1));
     524          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn6));
     525          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_fragment_size2));
     526          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn7));
     527          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn8));
     528          54 :                 NDR_PULL_ALLOC(ndr, r->out.fragment);
     529          54 :                 NDR_ZERO_STRUCTP(r->out.fragment);
     530          54 :                 NDR_PULL_ALLOC(ndr, r->out.response_blob);
     531          54 :                 NDR_ZERO_STRUCTP(r->out.response_blob);
     532          54 :                 NDR_PULL_ALLOC(ndr, r->out.unkn9);
     533          54 :                 NDR_ZERO_STRUCTP(r->out.unkn9);
     534             :         }
     535         147 :         if (flags & NDR_OUT) {
     536             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     537             :                 if (r->in.handle == NULL) {
     538             :                         NDR_PULL_ALLOC(ndr, r->in.handle);
     539             :                         NDR_ZERO_STRUCTP(r->in.handle);
     540             :                 }
     541             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
     542          93 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     543          84 :                         NDR_PULL_ALLOC(ndr, r->out.fragment);
     544             :                 }
     545          93 :                 _mem_save_fragment_0 = NDR_PULL_GET_MEM_CTX(ndr);
     546          93 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.fragment, LIBNDR_FLAG_REF_ALLOC);
     547          93 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.fragment));
     548          93 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fragment_0, LIBNDR_FLAG_REF_ALLOC);
     549          93 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     550          84 :                         NDR_PULL_ALLOC(ndr, r->out.response_blob);
     551             :                 }
     552          93 :                 _mem_save_response_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
     553          93 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.response_blob, LIBNDR_FLAG_REF_ALLOC);
     554          93 :                 NDR_CHECK(ndr_pull_mdssvc_blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.response_blob));
     555          93 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_response_blob_0, LIBNDR_FLAG_REF_ALLOC);
     556          93 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     557          84 :                         NDR_PULL_ALLOC(ndr, r->out.unkn9);
     558             :                 }
     559          93 :                 _mem_save_unkn9_0 = NDR_PULL_GET_MEM_CTX(ndr);
     560          93 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unkn9, LIBNDR_FLAG_REF_ALLOC);
     561          93 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unkn9));
     562          93 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn9_0, LIBNDR_FLAG_REF_ALLOC);
     563             :         }
     564         147 :         return NDR_ERR_SUCCESS;
     565             : }
     566             : 
     567           0 : _PUBLIC_ void ndr_print_mdssvc_cmd(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct mdssvc_cmd *r)
     568             : {
     569           0 :         ndr_print_struct(ndr, name, "mdssvc_cmd");
     570           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     571           0 :         ndr->depth++;
     572           0 :         if (flags & NDR_SET_VALUES) {
     573           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
     574             :         }
     575           0 :         if (flags & NDR_IN) {
     576           0 :                 ndr_print_struct(ndr, "in", "mdssvc_cmd");
     577           0 :                 ndr->depth++;
     578           0 :                 ndr_print_ptr(ndr, "handle", r->in.handle);
     579           0 :                 ndr->depth++;
     580           0 :                 ndr_print_policy_handle(ndr, "handle", r->in.handle);
     581           0 :                 ndr->depth--;
     582           0 :                 ndr_print_uint32(ndr, "unkn1", r->in.unkn1);
     583           0 :                 ndr_print_uint32(ndr, "device_id", r->in.device_id);
     584           0 :                 ndr_print_uint32(ndr, "unkn3", r->in.unkn3);
     585           0 :                 ndr_print_uint32(ndr, "next_fragment", r->in.next_fragment);
     586           0 :                 ndr_print_uint32(ndr, "flags", r->in.flags);
     587           0 :                 ndr_print_mdssvc_blob(ndr, "request_blob", &r->in.request_blob);
     588           0 :                 ndr_print_uint32(ndr, "unkn5", r->in.unkn5);
     589           0 :                 ndr_print_uint32(ndr, "max_fragment_size1", r->in.max_fragment_size1);
     590           0 :                 ndr_print_uint32(ndr, "unkn6", r->in.unkn6);
     591           0 :                 ndr_print_uint32(ndr, "max_fragment_size2", r->in.max_fragment_size2);
     592           0 :                 ndr_print_uint32(ndr, "unkn7", r->in.unkn7);
     593           0 :                 ndr_print_uint32(ndr, "unkn8", r->in.unkn8);
     594           0 :                 ndr->depth--;
     595             :         }
     596           0 :         if (flags & NDR_OUT) {
     597           0 :                 ndr_print_struct(ndr, "out", "mdssvc_cmd");
     598           0 :                 ndr->depth++;
     599           0 :                 ndr_print_ptr(ndr, "fragment", r->out.fragment);
     600           0 :                 ndr->depth++;
     601           0 :                 ndr_print_uint32(ndr, "fragment", *r->out.fragment);
     602           0 :                 ndr->depth--;
     603           0 :                 ndr_print_ptr(ndr, "response_blob", r->out.response_blob);
     604           0 :                 ndr->depth++;
     605           0 :                 ndr_print_mdssvc_blob(ndr, "response_blob", r->out.response_blob);
     606           0 :                 ndr->depth--;
     607           0 :                 ndr_print_ptr(ndr, "unkn9", r->out.unkn9);
     608           0 :                 ndr->depth++;
     609           0 :                 ndr_print_uint32(ndr, "unkn9", *r->out.unkn9);
     610           0 :                 ndr->depth--;
     611           0 :                 ndr->depth--;
     612             :         }
     613           0 :         ndr->depth--;
     614             : }
     615             : 
     616          43 : static enum ndr_err_code ndr_push_mdssvc_close(struct ndr_push *ndr, ndr_flags_type flags, const struct mdssvc_close *r)
     617             : {
     618          43 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
     619          43 :         if (flags & NDR_IN) {
     620          27 :                 if (r->in.in_handle == NULL) {
     621           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     622             :                 }
     623          27 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.in_handle));
     624          27 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn1));
     625          27 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.device_id));
     626          27 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn2));
     627          27 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn3));
     628             :         }
     629          43 :         if (flags & NDR_OUT) {
     630          16 :                 if (r->out.out_handle == NULL) {
     631           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     632             :                 }
     633          16 :                 if (r->out.status == NULL) {
     634           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     635             :                 }
     636          16 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.out_handle));
     637          16 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.status));
     638             :         }
     639          43 :         return NDR_ERR_SUCCESS;
     640             : }
     641             : 
     642          43 : static enum ndr_err_code ndr_pull_mdssvc_close(struct ndr_pull *ndr, ndr_flags_type flags, struct mdssvc_close *r)
     643             : {
     644          43 :         TALLOC_CTX *_mem_save_in_handle_0 = NULL;
     645          43 :         TALLOC_CTX *_mem_save_out_handle_0 = NULL;
     646          43 :         TALLOC_CTX *_mem_save_status_0 = NULL;
     647          43 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     648          43 :         if (flags & NDR_IN) {
     649          19 :                 NDR_ZERO_STRUCT(r->out);
     650             : 
     651          19 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     652          19 :                         NDR_PULL_ALLOC(ndr, r->in.in_handle);
     653             :                 }
     654          19 :                 _mem_save_in_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     655          19 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.in_handle, LIBNDR_FLAG_REF_ALLOC);
     656          19 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.in_handle));
     657          19 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_in_handle_0, LIBNDR_FLAG_REF_ALLOC);
     658          19 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn1));
     659          19 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.device_id));
     660          19 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn2));
     661          19 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn3));
     662          19 :                 NDR_PULL_ALLOC(ndr, r->out.out_handle);
     663          19 :                 NDR_ZERO_STRUCTP(r->out.out_handle);
     664          19 :                 NDR_PULL_ALLOC(ndr, r->out.status);
     665          19 :                 NDR_ZERO_STRUCTP(r->out.status);
     666             :         }
     667          43 :         if (flags & NDR_OUT) {
     668             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     669             :                 if (r->in.in_handle == NULL) {
     670             :                         NDR_PULL_ALLOC(ndr, r->in.in_handle);
     671             :                         NDR_ZERO_STRUCTP(r->in.in_handle);
     672             :                 }
     673             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
     674          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     675          15 :                         NDR_PULL_ALLOC(ndr, r->out.out_handle);
     676             :                 }
     677          24 :                 _mem_save_out_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     678          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.out_handle, LIBNDR_FLAG_REF_ALLOC);
     679          24 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.out_handle));
     680          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_out_handle_0, LIBNDR_FLAG_REF_ALLOC);
     681          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     682          15 :                         NDR_PULL_ALLOC(ndr, r->out.status);
     683             :                 }
     684          24 :                 _mem_save_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
     685          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.status, LIBNDR_FLAG_REF_ALLOC);
     686          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.status));
     687          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_0, LIBNDR_FLAG_REF_ALLOC);
     688             :         }
     689          43 :         return NDR_ERR_SUCCESS;
     690             : }
     691             : 
     692           0 : _PUBLIC_ void ndr_print_mdssvc_close(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct mdssvc_close *r)
     693             : {
     694           0 :         ndr_print_struct(ndr, name, "mdssvc_close");
     695           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     696           0 :         ndr->depth++;
     697           0 :         if (flags & NDR_SET_VALUES) {
     698           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
     699             :         }
     700           0 :         if (flags & NDR_IN) {
     701           0 :                 ndr_print_struct(ndr, "in", "mdssvc_close");
     702           0 :                 ndr->depth++;
     703           0 :                 ndr_print_ptr(ndr, "in_handle", r->in.in_handle);
     704           0 :                 ndr->depth++;
     705           0 :                 ndr_print_policy_handle(ndr, "in_handle", r->in.in_handle);
     706           0 :                 ndr->depth--;
     707           0 :                 ndr_print_uint32(ndr, "unkn1", r->in.unkn1);
     708           0 :                 ndr_print_uint32(ndr, "device_id", r->in.device_id);
     709           0 :                 ndr_print_uint32(ndr, "unkn2", r->in.unkn2);
     710           0 :                 ndr_print_uint32(ndr, "unkn3", r->in.unkn3);
     711           0 :                 ndr->depth--;
     712             :         }
     713           0 :         if (flags & NDR_OUT) {
     714           0 :                 ndr_print_struct(ndr, "out", "mdssvc_close");
     715           0 :                 ndr->depth++;
     716           0 :                 ndr_print_ptr(ndr, "out_handle", r->out.out_handle);
     717           0 :                 ndr->depth++;
     718           0 :                 ndr_print_policy_handle(ndr, "out_handle", r->out.out_handle);
     719           0 :                 ndr->depth--;
     720           0 :                 ndr_print_ptr(ndr, "status", r->out.status);
     721           0 :                 ndr->depth++;
     722           0 :                 ndr_print_uint32(ndr, "status", *r->out.status);
     723           0 :                 ndr->depth--;
     724           0 :                 ndr->depth--;
     725             :         }
     726           0 :         ndr->depth--;
     727             : }
     728             : 
     729             : #ifndef SKIP_NDR_TABLE_mdssvc
     730             : static const struct ndr_interface_public_struct mdssvc_public_structs[] = {
     731             :         {
     732             :                 .name = "mdssvc_blob",
     733             :                 .struct_size = sizeof(struct mdssvc_blob ),
     734             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_mdssvc_blob,
     735             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_mdssvc_blob,
     736             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_mdssvc_blob,
     737             :         },
     738             :         { .name = NULL }
     739             : };
     740             : 
     741             : static const struct ndr_interface_call mdssvc_calls[] = {
     742             :         {
     743             :                 "mdssvc_open",
     744             :                 sizeof(struct mdssvc_open),
     745             :                 (ndr_push_flags_fn_t) ndr_push_mdssvc_open,
     746             :                 (ndr_pull_flags_fn_t) ndr_pull_mdssvc_open,
     747             :                 (ndr_print_function_t) ndr_print_mdssvc_open,
     748             :                 { 0, NULL },
     749             :                 { 0, NULL },
     750             :         },
     751             :         {
     752             :                 "mdssvc_unknown1",
     753             :                 sizeof(struct mdssvc_unknown1),
     754             :                 (ndr_push_flags_fn_t) ndr_push_mdssvc_unknown1,
     755             :                 (ndr_pull_flags_fn_t) ndr_pull_mdssvc_unknown1,
     756             :                 (ndr_print_function_t) ndr_print_mdssvc_unknown1,
     757             :                 { 0, NULL },
     758             :                 { 0, NULL },
     759             :         },
     760             :         {
     761             :                 "mdssvc_cmd",
     762             :                 sizeof(struct mdssvc_cmd),
     763             :                 (ndr_push_flags_fn_t) ndr_push_mdssvc_cmd,
     764             :                 (ndr_pull_flags_fn_t) ndr_pull_mdssvc_cmd,
     765             :                 (ndr_print_function_t) ndr_print_mdssvc_cmd,
     766             :                 { 0, NULL },
     767             :                 { 0, NULL },
     768             :         },
     769             :         {
     770             :                 "mdssvc_close",
     771             :                 sizeof(struct mdssvc_close),
     772             :                 (ndr_push_flags_fn_t) ndr_push_mdssvc_close,
     773             :                 (ndr_pull_flags_fn_t) ndr_pull_mdssvc_close,
     774             :                 (ndr_print_function_t) ndr_print_mdssvc_close,
     775             :                 { 0, NULL },
     776             :                 { 0, NULL },
     777             :         },
     778             :         { .name = NULL }
     779             : };
     780             : 
     781             : static const char * const mdssvc_endpoint_strings[] = {
     782             :         "ncacn_np:[\\pipe\\mdssvc]", 
     783             :         "ncalrpc:", 
     784             : };
     785             : 
     786             : static const struct ndr_interface_string_array mdssvc_endpoints = {
     787             :         .count  = 2,
     788             :         .names  = mdssvc_endpoint_strings
     789             : };
     790             : 
     791             : static const char * const mdssvc_authservice_strings[] = {
     792             :         "host", 
     793             : };
     794             : 
     795             : static const struct ndr_interface_string_array mdssvc_authservices = {
     796             :         .count  = 1,
     797             :         .names  = mdssvc_authservice_strings
     798             : };
     799             : 
     800             : 
     801             : const struct ndr_interface_table ndr_table_mdssvc = {
     802             :         .name           = "mdssvc",
     803             :         .syntax_id      = {
     804             :                 {0x885d85fb,0xc754,0x4062,{0xa0,0xe7},{0x68,0x72,0xce,0x00,0x64,0xf4}},
     805             :                 NDR_MDSSVC_VERSION
     806             :         },
     807             :         .helpstring     = NDR_MDSSVC_HELPSTRING,
     808             :         .num_calls      = 4,
     809             :         .calls          = mdssvc_calls,
     810             :         .num_public_structs     = 1,
     811             :         .public_structs         = mdssvc_public_structs,
     812             :         .endpoints      = &mdssvc_endpoints,
     813             :         .authservices   = &mdssvc_authservices
     814             : };
     815             : 
     816             : #endif /* SKIP_NDR_TABLE_mdssvc */

Generated by: LCOV version 1.14