2 * Unix SMB/CIFS implementation.
3 * RPC Pipe client / server routines
4 * Copyright (C) Gerald (Jerry) Carter 2005.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
23 #define DBGC_CLASS DBGC_RPC_PARSE
25 /*******************************************************************
26 ********************************************************************/
28 bool ntsvcs_io_q_get_device_list(const char *desc
, NTSVCS_Q_GET_DEVICE_LIST
*q_u
, prs_struct
*ps
, int depth
)
33 prs_debug(ps
, depth
, desc
, "ntsvcs_io_q_get_device_list");
39 if ( !prs_pointer("devicename", ps
, depth
, (void*)&q_u
->devicename
, sizeof(UNISTR2
), (PRS_POINTER_CAST
)prs_io_unistr2
) )
44 if ( !prs_uint32("buffer_size", ps
, depth
, &q_u
->buffer_size
) )
46 if ( !prs_uint32("flags", ps
, depth
, &q_u
->flags
) )
53 /*******************************************************************
54 ********************************************************************/
56 bool ntsvcs_io_r_get_device_list(const char *desc
, NTSVCS_R_GET_DEVICE_LIST
*r_u
, prs_struct
*ps
, int depth
)
61 prs_debug(ps
, depth
, desc
, "ntsvcs_io_r_get_device_list_size");
67 if ( !prs_io_unistr2("devicepath", ps
, depth
, &r_u
->devicepath
) )
72 if(!prs_uint32("needed", ps
, depth
, &r_u
->needed
))
75 if(!prs_werror("status", ps
, depth
, &r_u
->status
))
81 /*******************************************************************
82 ********************************************************************/
84 bool ntsvcs_io_q_get_device_reg_property(const char *desc
, NTSVCS_Q_GET_DEVICE_REG_PROPERTY
*q_u
, prs_struct
*ps
, int depth
)
89 prs_debug(ps
, depth
, desc
, "ntsvcs_io_q_get_device_reg_property");
95 if ( !prs_io_unistr2("devicepath", ps
, depth
, &q_u
->devicepath
) )
100 if ( !prs_uint32("property", ps
, depth
, &q_u
->property
) )
102 if ( !prs_uint32("unknown2", ps
, depth
, &q_u
->unknown2
) )
104 if ( !prs_uint32("buffer_size1", ps
, depth
, &q_u
->buffer_size1
) )
106 if ( !prs_uint32("buffer_size2", ps
, depth
, &q_u
->buffer_size2
) )
108 if ( !prs_uint32("unknown5", ps
, depth
, &q_u
->unknown5
) )
115 /*******************************************************************
116 ********************************************************************/
118 bool ntsvcs_io_r_get_device_reg_property(const char *desc
, NTSVCS_R_GET_DEVICE_REG_PROPERTY
*r_u
, prs_struct
*ps
, int depth
)
123 prs_debug(ps
, depth
, desc
, "ntsvcs_io_r_get_device_reg_property");
126 if ( !prs_align(ps
) )
129 if ( !prs_uint32("unknown1", ps
, depth
, &r_u
->unknown1
) )
132 if ( !smb_io_regval_buffer("value", ps
, depth
, &r_u
->value
) )
134 if ( !prs_align(ps
) )
137 if ( !prs_uint32("size", ps
, depth
, &r_u
->size
) )
140 if ( !prs_uint32("needed", ps
, depth
, &r_u
->needed
) )
143 if(!prs_werror("status", ps
, depth
, &r_u
->status
))