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 abartlet/fix-coverage dd10fb34 Lines: 361 556 64.9 %
Date: 2021-09-23 10: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          98 : _PUBLIC_ enum ndr_err_code ndr_push_mdssvc_blob(struct ndr_push *ndr, int ndr_flags, const struct mdssvc_blob *r)
       8             : {
       9          98 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      10          98 :         if (ndr_flags & NDR_SCALARS) {
      11          98 :                 NDR_CHECK(ndr_push_align(ndr, 5));
      12          98 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
      13          98 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
      14          98 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spotlight_blob));
      15          98 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
      16             :         }
      17          98 :         if (ndr_flags & NDR_BUFFERS) {
      18          98 :                 if (r->spotlight_blob) {
      19          98 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
      20          98 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      21          98 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
      22          98 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->spotlight_blob, r->length));
      23             :                 }
      24             :         }
      25          98 :         return NDR_ERR_SUCCESS;
      26             : }
      27             : 
      28          98 : _PUBLIC_ enum ndr_err_code ndr_pull_mdssvc_blob(struct ndr_pull *ndr, int ndr_flags, struct mdssvc_blob *r)
      29             : {
      30             :         uint32_t _ptr_spotlight_blob;
      31          98 :         uint32_t size_spotlight_blob_1 = 0;
      32          98 :         uint32_t length_spotlight_blob_1 = 0;
      33          98 :         TALLOC_CTX *_mem_save_spotlight_blob_0 = NULL;
      34          98 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      35          98 :         if (ndr_flags & NDR_SCALARS) {
      36          98 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
      37          98 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
      38          98 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
      39          98 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spotlight_blob));
      40          98 :                 if (_ptr_spotlight_blob) {
      41          98 :                         NDR_PULL_ALLOC(ndr, r->spotlight_blob);
      42             :                 } else {
      43           0 :                         r->spotlight_blob = NULL;
      44             :                 }
      45          98 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
      46             :         }
      47          98 :         if (ndr_flags & NDR_BUFFERS) {
      48          98 :                 if (r->spotlight_blob) {
      49          98 :                         _mem_save_spotlight_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
      50          98 :                         NDR_PULL_SET_MEM_CTX(ndr, r->spotlight_blob, 0);
      51          98 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->spotlight_blob));
      52          98 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->spotlight_blob));
      53          98 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->spotlight_blob, &size_spotlight_blob_1));
      54          98 :                         NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->spotlight_blob, &length_spotlight_blob_1));
      55          98 :                         if (length_spotlight_blob_1 > size_spotlight_blob_1) {
      56           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_spotlight_blob_1, length_spotlight_blob_1);
      57             :                         }
      58          98 :                         NDR_PULL_ALLOC_N(ndr, r->spotlight_blob, size_spotlight_blob_1);
      59          98 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->spotlight_blob, length_spotlight_blob_1));
      60          98 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spotlight_blob_0, 0);
      61             :                 }
      62          98 :                 if (r->spotlight_blob) {
      63          98 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->spotlight_blob, r->size));
      64             :                 }
      65          98 :                 if (r->spotlight_blob) {
      66          98 :                         NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->spotlight_blob, r->length));
      67             :                 }
      68             :         }
      69          98 :         return NDR_ERR_SUCCESS;
      70             : }
      71             : 
      72           0 : static void ndr_print_flags_mdssvc_blob(struct ndr_print *ndr, const char *name, int 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          52 : static enum ndr_err_code ndr_push_mdssvc_open(struct ndr_push *ndr, int flags, const struct mdssvc_open *r)
      94             : {
      95          52 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
      96          52 :         if (flags & NDR_IN) {
      97          26 :                 if (r->in.device_id == NULL) {
      98           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
      99             :                 }
     100          26 :                 if (r->in.unkn2 == NULL) {
     101           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     102             :                 }
     103          26 :                 if (r->in.unkn3 == NULL) {
     104           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     105             :                 }
     106          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.device_id));
     107          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.unkn2));
     108          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.unkn3));
     109          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1025));
     110          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     111          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_mount_path, CH_UTF8)));
     112          26 :                 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          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1025));
     114          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     115          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF8)));
     116          26 :                 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          52 :         if (flags & NDR_OUT) {
     119          26 :                 if (r->out.device_id == NULL) {
     120           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     121             :                 }
     122          26 :                 if (r->out.unkn2 == NULL) {
     123           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     124             :                 }
     125          26 :                 if (r->out.unkn3 == NULL) {
     126           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     127             :                 }
     128          26 :                 if (r->out.handle == NULL) {
     129           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     130             :                 }
     131          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.device_id));
     132          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unkn2));
     133          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unkn3));
     134          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1025));
     135          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     136          26 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->out.share_path, CH_UTF8)));
     137          26 :                 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          26 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
     139             :         }
     140          52 :         return NDR_ERR_SUCCESS;
     141             : }
     142             : 
     143          52 : static enum ndr_err_code ndr_pull_mdssvc_open(struct ndr_pull *ndr, int flags, struct mdssvc_open *r)
     144             : {
     145          52 :         uint32_t size_share_mount_path_0 = 0;
     146          52 :         uint32_t length_share_mount_path_0 = 0;
     147          52 :         uint32_t size_share_name_0 = 0;
     148          52 :         uint32_t length_share_name_0 = 0;
     149          52 :         uint32_t size_share_path_0 = 0;
     150          52 :         uint32_t length_share_path_0 = 0;
     151          52 :         TALLOC_CTX *_mem_save_device_id_0 = NULL;
     152          52 :         TALLOC_CTX *_mem_save_unkn2_0 = NULL;
     153          52 :         TALLOC_CTX *_mem_save_unkn3_0 = NULL;
     154          52 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
     155          52 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     156          52 :         if (flags & NDR_IN) {
     157          26 :                 NDR_ZERO_STRUCT(r->out);
     158             : 
     159          26 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     160          26 :                         NDR_PULL_ALLOC(ndr, r->in.device_id);
     161             :                 }
     162          26 :                 _mem_save_device_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
     163          26 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.device_id, LIBNDR_FLAG_REF_ALLOC);
     164          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.device_id));
     165          26 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_id_0, LIBNDR_FLAG_REF_ALLOC);
     166          26 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     167          26 :                         NDR_PULL_ALLOC(ndr, r->in.unkn2);
     168             :                 }
     169          26 :                 _mem_save_unkn2_0 = NDR_PULL_GET_MEM_CTX(ndr);
     170          26 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.unkn2, LIBNDR_FLAG_REF_ALLOC);
     171          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.unkn2));
     172          26 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn2_0, LIBNDR_FLAG_REF_ALLOC);
     173          26 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     174          26 :                         NDR_PULL_ALLOC(ndr, r->in.unkn3);
     175             :                 }
     176          26 :                 _mem_save_unkn3_0 = NDR_PULL_GET_MEM_CTX(ndr);
     177          26 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.unkn3, LIBNDR_FLAG_REF_ALLOC);
     178          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.unkn3));
     179          26 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn3_0, LIBNDR_FLAG_REF_ALLOC);
     180          26 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_mount_path));
     181          26 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_mount_path));
     182          26 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.share_mount_path, &size_share_mount_path_0));
     183          26 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.share_mount_path, &length_share_mount_path_0));
     184          26 :                 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 %u should exceed array length %u", size_share_mount_path_0, length_share_mount_path_0);
     186             :                 }
     187          26 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_share_mount_path_0, sizeof(uint8_t)));
     188          26 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_mount_path, length_share_mount_path_0, sizeof(uint8_t), CH_UTF8));
     189          26 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name));
     190          26 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name));
     191          26 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.share_name, &size_share_name_0));
     192          26 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.share_name, &length_share_name_0));
     193          26 :                 if (length_share_name_0 > size_share_name_0) {
     194           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_name_0, length_share_name_0);
     195             :                 }
     196          26 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_share_name_0, sizeof(uint8_t)));
     197          26 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, length_share_name_0, sizeof(uint8_t), CH_UTF8));
     198          26 :                 NDR_PULL_ALLOC(ndr, r->out.device_id);
     199          26 :                 *r->out.device_id = *r->in.device_id;
     200          26 :                 NDR_PULL_ALLOC(ndr, r->out.unkn2);
     201          26 :                 *r->out.unkn2 = *r->in.unkn2;
     202          26 :                 NDR_PULL_ALLOC(ndr, r->out.unkn3);
     203          26 :                 *r->out.unkn3 = *r->in.unkn3;
     204          26 :                 NDR_PULL_ALLOC(ndr, r->out.handle);
     205          26 :                 NDR_ZERO_STRUCTP(r->out.handle);
     206          26 :                 if (r->in.share_mount_path) {
     207          26 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.share_mount_path, 1025));
     208             :                 }
     209          26 :                 if (r->in.share_name) {
     210          26 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.share_name, 1025));
     211             :                 }
     212             :         }
     213          52 :         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          26 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     229          12 :                         NDR_PULL_ALLOC(ndr, r->out.device_id);
     230             :                 }
     231          26 :                 _mem_save_device_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
     232          26 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.device_id, LIBNDR_FLAG_REF_ALLOC);
     233          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.device_id));
     234          26 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_id_0, LIBNDR_FLAG_REF_ALLOC);
     235          26 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     236          12 :                         NDR_PULL_ALLOC(ndr, r->out.unkn2);
     237             :                 }
     238          26 :                 _mem_save_unkn2_0 = NDR_PULL_GET_MEM_CTX(ndr);
     239          26 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unkn2, LIBNDR_FLAG_REF_ALLOC);
     240          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unkn2));
     241          26 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn2_0, LIBNDR_FLAG_REF_ALLOC);
     242          26 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     243          12 :                         NDR_PULL_ALLOC(ndr, r->out.unkn3);
     244             :                 }
     245          26 :                 _mem_save_unkn3_0 = NDR_PULL_GET_MEM_CTX(ndr);
     246          26 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unkn3, LIBNDR_FLAG_REF_ALLOC);
     247          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unkn3));
     248          26 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn3_0, LIBNDR_FLAG_REF_ALLOC);
     249          26 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.share_path));
     250          26 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->out.share_path));
     251          26 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->out.share_path, &size_share_path_0));
     252          26 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->out.share_path, &length_share_path_0));
     253          26 :                 if (length_share_path_0 > size_share_path_0) {
     254           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_path_0, length_share_path_0);
     255             :                 }
     256          26 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_share_path_0, sizeof(uint8_t)));
     257          26 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->out.share_path, length_share_path_0, sizeof(uint8_t), CH_UTF8));
     258          26 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     259          12 :                         NDR_PULL_ALLOC(ndr, r->out.handle);
     260             :                 }
     261          26 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     262          26 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
     263          26 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
     264          26 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
     265          26 :                 if (r->out.share_path) {
     266          26 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->out.share_path, 1025));
     267             :                 }
     268             :         }
     269          52 :         return NDR_ERR_SUCCESS;
     270             : }
     271             : 
     272           0 : _PUBLIC_ void ndr_print_mdssvc_open(struct ndr_print *ndr, const char *name, int 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          46 : static enum ndr_err_code ndr_push_mdssvc_unknown1(struct ndr_push *ndr, int flags, const struct mdssvc_unknown1 *r)
     325             : {
     326          46 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
     327          46 :         if (flags & NDR_IN) {
     328          24 :                 if (r->in.handle == NULL) {
     329           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     330             :                 }
     331          24 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
     332          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn1));
     333          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.device_id));
     334          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn3));
     335          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn4));
     336          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.uid));
     337          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.gid));
     338             :         }
     339          46 :         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          46 :         return NDR_ERR_SUCCESS;
     354             : }
     355             : 
     356          46 : static enum ndr_err_code ndr_pull_mdssvc_unknown1(struct ndr_pull *ndr, int flags, struct mdssvc_unknown1 *r)
     357             : {
     358          46 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
     359          46 :         TALLOC_CTX *_mem_save_status_0 = NULL;
     360          46 :         TALLOC_CTX *_mem_save_flags_0 = NULL;
     361          46 :         TALLOC_CTX *_mem_save_unkn7_0 = NULL;
     362          46 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     363          46 :         if (flags & NDR_IN) {
     364          24 :                 NDR_ZERO_STRUCT(r->out);
     365             : 
     366          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     367          24 :                         NDR_PULL_ALLOC(ndr, r->in.handle);
     368             :                 }
     369          24 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     370          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
     371          24 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
     372          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
     373          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn1));
     374          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.device_id));
     375          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn3));
     376          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn4));
     377          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.uid));
     378          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.gid));
     379          24 :                 NDR_PULL_ALLOC(ndr, r->out.status);
     380          24 :                 NDR_ZERO_STRUCTP(r->out.status);
     381          24 :                 NDR_PULL_ALLOC(ndr, r->out.flags);
     382          24 :                 NDR_ZERO_STRUCTP(r->out.flags);
     383          24 :                 NDR_PULL_ALLOC(ndr, r->out.unkn7);
     384          24 :                 NDR_ZERO_STRUCTP(r->out.unkn7);
     385             :         }
     386          46 :         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          22 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     394          12 :                         NDR_PULL_ALLOC(ndr, r->out.status);
     395             :                 }
     396          22 :                 _mem_save_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
     397          22 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.status, LIBNDR_FLAG_REF_ALLOC);
     398          22 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.status));
     399          22 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_0, LIBNDR_FLAG_REF_ALLOC);
     400          22 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     401          12 :                         NDR_PULL_ALLOC(ndr, r->out.flags);
     402             :                 }
     403          22 :                 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
     404          22 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
     405          22 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
     406          22 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
     407          22 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     408          12 :                         NDR_PULL_ALLOC(ndr, r->out.unkn7);
     409             :                 }
     410          22 :                 _mem_save_unkn7_0 = NDR_PULL_GET_MEM_CTX(ndr);
     411          22 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unkn7, LIBNDR_FLAG_REF_ALLOC);
     412          22 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unkn7));
     413          22 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn7_0, LIBNDR_FLAG_REF_ALLOC);
     414             :         }
     415          46 :         return NDR_ERR_SUCCESS;
     416             : }
     417             : 
     418           0 : _PUBLIC_ void ndr_print_mdssvc_unknown1(struct ndr_print *ndr, const char *name, int 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          98 : static enum ndr_err_code ndr_push_mdssvc_cmd(struct ndr_push *ndr, int flags, const struct mdssvc_cmd *r)
     462             : {
     463          98 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
     464          98 :         if (flags & NDR_IN) {
     465          50 :                 if (r->in.handle == NULL) {
     466           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     467             :                 }
     468          50 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
     469          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn1));
     470          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.device_id));
     471          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn3));
     472          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn4));
     473          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
     474          50 :                 NDR_CHECK(ndr_push_mdssvc_blob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.request_blob));
     475          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn5));
     476          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_fragment_size1));
     477          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn6));
     478          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_fragment_size2));
     479          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn7));
     480          50 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn8));
     481             :         }
     482          98 :         if (flags & NDR_OUT) {
     483          48 :                 if (r->out.fragment == NULL) {
     484           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     485             :                 }
     486          48 :                 if (r->out.response_blob == NULL) {
     487           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     488             :                 }
     489          48 :                 if (r->out.unkn9 == NULL) {
     490           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     491             :                 }
     492          48 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.fragment));
     493          48 :                 NDR_CHECK(ndr_push_mdssvc_blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.response_blob));
     494          48 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unkn9));
     495             :         }
     496          98 :         return NDR_ERR_SUCCESS;
     497             : }
     498             : 
     499          98 : static enum ndr_err_code ndr_pull_mdssvc_cmd(struct ndr_pull *ndr, int flags, struct mdssvc_cmd *r)
     500             : {
     501          98 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
     502          98 :         TALLOC_CTX *_mem_save_fragment_0 = NULL;
     503          98 :         TALLOC_CTX *_mem_save_response_blob_0 = NULL;
     504          98 :         TALLOC_CTX *_mem_save_unkn9_0 = NULL;
     505          98 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     506          98 :         if (flags & NDR_IN) {
     507          50 :                 NDR_ZERO_STRUCT(r->out);
     508             : 
     509          50 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     510          50 :                         NDR_PULL_ALLOC(ndr, r->in.handle);
     511             :                 }
     512          50 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     513          50 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
     514          50 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
     515          50 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
     516          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn1));
     517          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.device_id));
     518          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn3));
     519          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn4));
     520          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
     521          50 :                 NDR_CHECK(ndr_pull_mdssvc_blob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.request_blob));
     522          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn5));
     523          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_fragment_size1));
     524          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn6));
     525          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_fragment_size2));
     526          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn7));
     527          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn8));
     528          50 :                 NDR_PULL_ALLOC(ndr, r->out.fragment);
     529          50 :                 NDR_ZERO_STRUCTP(r->out.fragment);
     530          50 :                 NDR_PULL_ALLOC(ndr, r->out.response_blob);
     531          50 :                 NDR_ZERO_STRUCTP(r->out.response_blob);
     532          50 :                 NDR_PULL_ALLOC(ndr, r->out.unkn9);
     533          50 :                 NDR_ZERO_STRUCTP(r->out.unkn9);
     534             :         }
     535          98 :         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          48 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     543          46 :                         NDR_PULL_ALLOC(ndr, r->out.fragment);
     544             :                 }
     545          48 :                 _mem_save_fragment_0 = NDR_PULL_GET_MEM_CTX(ndr);
     546          48 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.fragment, LIBNDR_FLAG_REF_ALLOC);
     547          48 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.fragment));
     548          48 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fragment_0, LIBNDR_FLAG_REF_ALLOC);
     549          48 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     550          46 :                         NDR_PULL_ALLOC(ndr, r->out.response_blob);
     551             :                 }
     552          48 :                 _mem_save_response_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
     553          48 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.response_blob, LIBNDR_FLAG_REF_ALLOC);
     554          48 :                 NDR_CHECK(ndr_pull_mdssvc_blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.response_blob));
     555          48 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_response_blob_0, LIBNDR_FLAG_REF_ALLOC);
     556          48 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     557          46 :                         NDR_PULL_ALLOC(ndr, r->out.unkn9);
     558             :                 }
     559          48 :                 _mem_save_unkn9_0 = NDR_PULL_GET_MEM_CTX(ndr);
     560          48 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unkn9, LIBNDR_FLAG_REF_ALLOC);
     561          48 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unkn9));
     562          48 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unkn9_0, LIBNDR_FLAG_REF_ALLOC);
     563             :         }
     564          98 :         return NDR_ERR_SUCCESS;
     565             : }
     566             : 
     567           0 : _PUBLIC_ void ndr_print_mdssvc_cmd(struct ndr_print *ndr, const char *name, int 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, "unkn4", r->in.unkn4);
     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          44 : static enum ndr_err_code ndr_push_mdssvc_close(struct ndr_push *ndr, int flags, const struct mdssvc_close *r)
     617             : {
     618          44 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
     619          44 :         if (flags & NDR_IN) {
     620          26 :                 if (r->in.in_handle == NULL) {
     621           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     622             :                 }
     623          26 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.in_handle));
     624          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn1));
     625          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.device_id));
     626          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn2));
     627          26 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unkn3));
     628             :         }
     629          44 :         if (flags & NDR_OUT) {
     630          18 :                 if (r->out.out_handle == NULL) {
     631           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     632             :                 }
     633          18 :                 if (r->out.status == NULL) {
     634           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     635             :                 }
     636          18 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.out_handle));
     637          18 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.status));
     638             :         }
     639          44 :         return NDR_ERR_SUCCESS;
     640             : }
     641             : 
     642          38 : static enum ndr_err_code ndr_pull_mdssvc_close(struct ndr_pull *ndr, int flags, struct mdssvc_close *r)
     643             : {
     644          38 :         TALLOC_CTX *_mem_save_in_handle_0 = NULL;
     645          38 :         TALLOC_CTX *_mem_save_out_handle_0 = NULL;
     646          38 :         TALLOC_CTX *_mem_save_status_0 = NULL;
     647          38 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     648          38 :         if (flags & NDR_IN) {
     649          20 :                 NDR_ZERO_STRUCT(r->out);
     650             : 
     651          20 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     652          20 :                         NDR_PULL_ALLOC(ndr, r->in.in_handle);
     653             :                 }
     654          20 :                 _mem_save_in_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     655          20 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.in_handle, LIBNDR_FLAG_REF_ALLOC);
     656          20 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.in_handle));
     657          20 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_in_handle_0, LIBNDR_FLAG_REF_ALLOC);
     658          20 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn1));
     659          20 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.device_id));
     660          20 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn2));
     661          20 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unkn3));
     662          20 :                 NDR_PULL_ALLOC(ndr, r->out.out_handle);
     663          20 :                 NDR_ZERO_STRUCTP(r->out.out_handle);
     664          20 :                 NDR_PULL_ALLOC(ndr, r->out.status);
     665          20 :                 NDR_ZERO_STRUCTP(r->out.status);
     666             :         }
     667          38 :         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          18 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     675          12 :                         NDR_PULL_ALLOC(ndr, r->out.out_handle);
     676             :                 }
     677          18 :                 _mem_save_out_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
     678          18 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.out_handle, LIBNDR_FLAG_REF_ALLOC);
     679          18 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.out_handle));
     680          18 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_out_handle_0, LIBNDR_FLAG_REF_ALLOC);
     681          18 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     682          12 :                         NDR_PULL_ALLOC(ndr, r->out.status);
     683             :                 }
     684          18 :                 _mem_save_status_0 = NDR_PULL_GET_MEM_CTX(ndr);
     685          18 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.status, LIBNDR_FLAG_REF_ALLOC);
     686          18 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.status));
     687          18 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_0, LIBNDR_FLAG_REF_ALLOC);
     688             :         }
     689          38 :         return NDR_ERR_SUCCESS;
     690             : }
     691             : 
     692           0 : _PUBLIC_ void ndr_print_mdssvc_close(struct ndr_print *ndr, const char *name, int 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.13