LCOV - code coverage report
Current view: top level - librpc/ndr - ndr_wmi.c (source / functions) Hit Total Coverage
Test: coverage report for v4-17-test 1498b464 Lines: 0 18 0.0 %
Date: 2024-06-13 04:01:37 Functions: 0 3 0.0 %

          Line data    Source code
       1             : /* 
       2             :    Unix SMB/CIFS implementation.
       3             : 
       4             :    routines for marshalling/unmarshalling DCOM string arrays
       5             : 
       6             :    Copyright (C) Jelmer Vernooij 2004
       7             :    
       8             :    This program is free software; you can redistribute it and/or modify
       9             :    it under the terms of the GNU General Public License as published by
      10             :    the Free Software Foundation; either version 2 of the License, or
      11             :    (at your option) any later version.
      12             :    
      13             :    This program is distributed in the hope that it will be useful,
      14             :    but WITHOUT ANY WARRANTY; without even the implied warranty of
      15             :    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      16             :    GNU General Public License for more details.
      17             :    
      18             :    You should have received a copy of the GNU General Public License
      19             :    along with this program; if not, write to the Free Software
      20             :    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
      21             : */
      22             : //#define NDR_CHECK_DEBUG
      23             : #include "includes.h"
      24             : #include "librpc/gen_ndr/ndr_dcom.h"
      25             : #include "librpc/gen_ndr/ndr_wmi.h"
      26             : #include "librpc/ndr/ndr_wmi.h"
      27             : 
      28             : // Just for debugging
      29             : int NDR_CHECK_depth = 0;
      30             : int NDR_CHECK_shift = 0x18;
      31             : 
      32           0 : enum ndr_err_code ndr_push_BSTR(struct ndr_push *ndr, int ndr_flags, const struct BSTR *r)
      33             : {
      34             :         uint32_t len;
      35             :         uint32_t flags;
      36             :         enum ndr_err_code status;
      37           0 :         len = strlen(r->data);
      38           0 :         if (ndr_flags & NDR_SCALARS) {
      39           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
      40           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x72657355));
      41           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, len));
      42           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2*len));
      43           0 :                 flags = ndr->flags;
      44           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM | LIBNDR_FLAG_STR_SIZE4);
      45           0 :                 status = ndr_push_string(ndr, NDR_SCALARS, r->data);
      46           0 :                 ndr->flags = flags;
      47           0 :                 return status;
      48             :         }
      49           0 :         return NDR_ERR_SUCCESS;
      50             : }
      51             : 
      52           0 : enum ndr_err_code ndr_pull_BSTR(struct ndr_pull *ndr, int ndr_flags, struct BSTR *r)
      53             : {
      54           0 :         return NDR_ERR_BAD_SWITCH;
      55             : }
      56             : 
      57           0 : void ndr_print_BSTR(struct ndr_print *ndr, const char *name, const struct BSTR *r)
      58             : {
      59           0 :         ndr->print(ndr, "%-25s: BSTR(\"%s\")", name, r->data);
      60           0 : }

Generated by: LCOV version 1.13