rpc_parse/parse_ntsvcs.c

ソースコードを見る。

関数

BOOL ntsvcs_io_q_get_version (const char *desc, NTSVCS_Q_GET_VERSION *q_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_r_get_version (const char *desc, NTSVCS_R_GET_VERSION *r_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_q_get_device_list_size (const char *desc, NTSVCS_Q_GET_DEVICE_LIST_SIZE *q_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_r_get_device_list_size (const char *desc, NTSVCS_R_GET_DEVICE_LIST_SIZE *r_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_q_get_device_list (const char *desc, NTSVCS_Q_GET_DEVICE_LIST *q_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_r_get_device_list (const char *desc, NTSVCS_R_GET_DEVICE_LIST *r_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_q_validate_device_instance (const char *desc, NTSVCS_Q_VALIDATE_DEVICE_INSTANCE *q_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_r_validate_device_instance (const char *desc, NTSVCS_R_VALIDATE_DEVICE_INSTANCE *r_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_q_get_device_reg_property (const char *desc, NTSVCS_Q_GET_DEVICE_REG_PROPERTY *q_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_r_get_device_reg_property (const char *desc, NTSVCS_R_GET_DEVICE_REG_PROPERTY *r_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_q_get_hw_profile_info (const char *desc, NTSVCS_Q_GET_HW_PROFILE_INFO *q_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_r_get_hw_profile_info (const char *desc, NTSVCS_R_GET_HW_PROFILE_INFO *r_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_q_hw_profile_flags (const char *desc, NTSVCS_Q_HW_PROFILE_FLAGS *q_u, prs_struct *ps, int depth)
BOOL ntsvcs_io_r_hw_profile_flags (const char *desc, NTSVCS_R_HW_PROFILE_FLAGS *r_u, prs_struct *ps, int depth)


関数

BOOL ntsvcs_io_q_get_version ( const char *  desc,
NTSVCS_Q_GET_VERSION q_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c29 行で定義されています。

参照先 prs_debug().

参照元 api_ntsvcs_get_version().

00030 {
00031         if (q_u == NULL)
00032                 return False;
00033 
00034         prs_debug(ps, depth, desc, "ntsvcs_io_q_get_version");
00035         depth++;
00036 
00037         /* there is nothing to parse in this PDU */
00038 
00039         return True;
00040 
00041 }

BOOL ntsvcs_io_r_get_version ( const char *  desc,
NTSVCS_R_GET_VERSION r_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c46 行で定義されています。

参照先 prs_debug()NTSVCS_R_GET_VERSION::statusNTSVCS_R_GET_VERSION::version.

参照元 api_ntsvcs_get_version().

00047 {
00048         if ( !r_u )
00049                 return False;
00050 
00051         prs_debug(ps, depth, desc, "ntsvcs_io_r_get_version");
00052         depth++;
00053 
00054         if(!prs_align(ps))
00055                 return False;
00056                 
00057         if(!prs_uint32("version", ps, depth, &r_u->version))
00058                 return False;
00059                 
00060         if(!prs_werror("status", ps, depth, &r_u->status))
00061                 return False;
00062 
00063         return True;
00064 }

BOOL ntsvcs_io_q_get_device_list_size ( const char *  desc,
NTSVCS_Q_GET_DEVICE_LIST_SIZE q_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c69 行で定義されています。

参照先 NTSVCS_Q_GET_DEVICE_LIST_SIZE::devicenameNTSVCS_Q_GET_DEVICE_LIST_SIZE::flagsprs_debug()prs_io_unistr2().

参照元 api_ntsvcs_get_device_list_size().

00070 {
00071         if (q_u == NULL)
00072                 return False;
00073 
00074         prs_debug(ps, depth, desc, "ntsvcs_io_q_get_device_list_size");
00075         depth++;
00076         
00077         if(!prs_align(ps))
00078                 return False;
00079 
00080         if ( !prs_pointer("devicename", ps, depth, (void*)&q_u->devicename, sizeof(UNISTR2), (PRS_POINTER_CAST)prs_io_unistr2) )
00081                 return False;
00082         if ( !prs_align(ps) )
00083                 return False;
00084                 
00085         if ( !prs_uint32("flags", ps, depth, &q_u->flags) )
00086                 return False;
00087         
00088         return True;
00089 
00090 }

BOOL ntsvcs_io_r_get_device_list_size ( const char *  desc,
NTSVCS_R_GET_DEVICE_LIST_SIZE r_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c95 行で定義されています。

参照先 prs_debug()NTSVCS_R_GET_DEVICE_LIST_SIZE::sizeNTSVCS_R_GET_DEVICE_LIST_SIZE::status.

参照元 api_ntsvcs_get_device_list_size().

00096 {
00097         if ( !r_u )
00098                 return False;
00099 
00100         prs_debug(ps, depth, desc, "ntsvcs_io_r_get_device_list_size");
00101         depth++;
00102 
00103         if(!prs_align(ps))
00104                 return False;
00105                 
00106         if(!prs_uint32("size", ps, depth, &r_u->size))
00107                 return False;
00108                 
00109         if(!prs_werror("status", ps, depth, &r_u->status))
00110                 return False;
00111 
00112         return True;
00113 }

BOOL ntsvcs_io_q_get_device_list ( const char *  desc,
NTSVCS_Q_GET_DEVICE_LIST q_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c119 行で定義されています。

参照先 NTSVCS_Q_GET_DEVICE_LIST::buffer_sizeNTSVCS_Q_GET_DEVICE_LIST::devicenameNTSVCS_Q_GET_DEVICE_LIST::flagsprs_debug()prs_io_unistr2().

参照元 api_ntsvcs_get_device_list().

00120 {
00121         if (q_u == NULL)
00122                 return False;
00123 
00124         prs_debug(ps, depth, desc, "ntsvcs_io_q_get_device_list");
00125         depth++;
00126         
00127         if(!prs_align(ps))
00128                 return False;
00129 
00130         if ( !prs_pointer("devicename", ps, depth, (void*)&q_u->devicename, sizeof(UNISTR2), (PRS_POINTER_CAST)prs_io_unistr2) )
00131                 return False;
00132         if( !prs_align(ps) )
00133                 return False;
00134                 
00135         if ( !prs_uint32("buffer_size", ps, depth, &q_u->buffer_size) )
00136                 return False;
00137         if ( !prs_uint32("flags", ps, depth, &q_u->flags) )
00138                 return False;
00139         
00140         return True;
00141 
00142 }

BOOL ntsvcs_io_r_get_device_list ( const char *  desc,
NTSVCS_R_GET_DEVICE_LIST r_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c147 行で定義されています。

参照先 NTSVCS_R_GET_DEVICE_LIST::devicepathNTSVCS_R_GET_DEVICE_LIST::neededprs_debug()prs_io_unistr2()NTSVCS_R_GET_DEVICE_LIST::status.

参照元 api_ntsvcs_get_device_list().

00148 {
00149         if ( !r_u )
00150                 return False;
00151 
00152         prs_debug(ps, depth, desc, "ntsvcs_io_r_get_device_list_size");
00153         depth++;
00154 
00155         if(!prs_align(ps))
00156                 return False;
00157                 
00158         if ( !prs_io_unistr2("devicepath", ps, depth, &r_u->devicepath) )
00159                 return False;
00160         if(!prs_align(ps))
00161                 return False;
00162                 
00163         if(!prs_uint32("needed", ps, depth, &r_u->needed))
00164                 return False;
00165                 
00166         if(!prs_werror("status", ps, depth, &r_u->status))
00167                 return False;
00168 
00169         return True;
00170 }

BOOL ntsvcs_io_q_validate_device_instance ( const char *  desc,
NTSVCS_Q_VALIDATE_DEVICE_INSTANCE q_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c175 行で定義されています。

参照先 NTSVCS_Q_VALIDATE_DEVICE_INSTANCE::devicepathNTSVCS_Q_VALIDATE_DEVICE_INSTANCE::flagsprs_debug()prs_io_unistr2().

参照元 api_ntsvcs_validate_device_instance().

00176 {
00177         if (q_u == NULL)
00178                 return False;
00179 
00180         prs_debug(ps, depth, desc, "ntsvcs_io_q_validate_device_instance");
00181         depth++;
00182         
00183         if(!prs_align(ps))
00184                 return False;
00185 
00186         if ( !prs_io_unistr2("devicepath", ps, depth, &q_u->devicepath) )
00187                 return False;
00188         if( !prs_align(ps) )
00189                 return False;
00190                 
00191         if ( !prs_uint32("flags", ps, depth, &q_u->flags) )
00192                 return False;
00193         
00194         return True;
00195 
00196 }

BOOL ntsvcs_io_r_validate_device_instance ( const char *  desc,
NTSVCS_R_VALIDATE_DEVICE_INSTANCE r_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c201 行で定義されています。

参照先 prs_debug()NTSVCS_R_VALIDATE_DEVICE_INSTANCE::status.

参照元 api_ntsvcs_validate_device_instance().

00202 {
00203         if ( !r_u )
00204                 return False;
00205 
00206         prs_debug(ps, depth, desc, "ntsvcs_io_r_validate_device_instance");
00207         depth++;
00208 
00209         if(!prs_werror("status", ps, depth, &r_u->status))
00210                 return False;
00211 
00212         return True;
00213 }

BOOL ntsvcs_io_q_get_device_reg_property ( const char *  desc,
NTSVCS_Q_GET_DEVICE_REG_PROPERTY q_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c218 行で定義されています。

参照先 NTSVCS_Q_GET_DEVICE_REG_PROPERTY::buffer_size1NTSVCS_Q_GET_DEVICE_REG_PROPERTY::buffer_size2NTSVCS_Q_GET_DEVICE_REG_PROPERTY::devicepathNTSVCS_Q_GET_DEVICE_REG_PROPERTY::propertyprs_debug()prs_io_unistr2()NTSVCS_Q_GET_DEVICE_REG_PROPERTY::unknown2NTSVCS_Q_GET_DEVICE_REG_PROPERTY::unknown5.

参照元 api_ntsvcs_get_device_reg_property().

00219 {
00220         if (q_u == NULL)
00221                 return False;
00222 
00223         prs_debug(ps, depth, desc, "ntsvcs_io_q_get_device_reg_property");
00224         depth++;
00225         
00226         if(!prs_align(ps))
00227                 return False;
00228 
00229         if ( !prs_io_unistr2("devicepath", ps, depth, &q_u->devicepath) )
00230                 return False;
00231         if( !prs_align(ps) )
00232                 return False;
00233 
00234         if ( !prs_uint32("property", ps, depth, &q_u->property) )
00235                 return False;
00236         if ( !prs_uint32("unknown2", ps, depth, &q_u->unknown2) )
00237                 return False;
00238         if ( !prs_uint32("buffer_size1", ps, depth, &q_u->buffer_size1) )
00239                 return False;
00240         if ( !prs_uint32("buffer_size2", ps, depth, &q_u->buffer_size2) )
00241                 return False;
00242         if ( !prs_uint32("unknown5", ps, depth, &q_u->unknown5) )
00243                 return False;
00244         
00245         return True;
00246 
00247 }

BOOL ntsvcs_io_r_get_device_reg_property ( const char *  desc,
NTSVCS_R_GET_DEVICE_REG_PROPERTY r_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c252 行で定義されています。

参照先 NTSVCS_R_GET_DEVICE_REG_PROPERTY::neededprs_debug()NTSVCS_R_GET_DEVICE_REG_PROPERTY::sizesmb_io_regval_buffer()NTSVCS_R_GET_DEVICE_REG_PROPERTY::statusNTSVCS_R_GET_DEVICE_REG_PROPERTY::unknown1NTSVCS_R_GET_DEVICE_REG_PROPERTY::value.

参照元 api_ntsvcs_get_device_reg_property().

00253 {
00254         if ( !r_u )
00255                 return False;
00256 
00257         prs_debug(ps, depth, desc, "ntsvcs_io_r_get_device_reg_property");
00258         depth++;
00259 
00260         if ( !prs_align(ps) )
00261                 return False;
00262 
00263         if ( !prs_uint32("unknown1", ps, depth, &r_u->unknown1) )
00264                 return False;
00265 
00266         if ( !smb_io_regval_buffer("value", ps, depth, &r_u->value) )
00267                 return False;
00268         if ( !prs_align(ps) )
00269                 return False;
00270 
00271         if ( !prs_uint32("size", ps, depth, &r_u->size) )
00272                 return False;
00273 
00274         if ( !prs_uint32("needed", ps, depth, &r_u->needed) )
00275                 return False;
00276 
00277         if(!prs_werror("status", ps, depth, &r_u->status))
00278                 return False;
00279 
00280         return True;
00281 }

BOOL ntsvcs_io_q_get_hw_profile_info ( const char *  desc,
NTSVCS_Q_GET_HW_PROFILE_INFO q_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c286 行で定義されています。

参照先 NTSVCS_Q_GET_HW_PROFILE_INFO::bufferNTSVCS_Q_GET_HW_PROFILE_INFO::buffer_sizeget_talloc_ctx()NTSVCS_Q_GET_HW_PROFILE_INFO::indexprs_debug()NTSVCS_Q_GET_HW_PROFILE_INFO::unknown1.

参照元 api_ntsvcs_get_hw_profile_info().

00287 {
00288         if (q_u == NULL)
00289                 return False;
00290 
00291         prs_debug(ps, depth, desc, "ntsvcs_io_q_get_hw_profile_info");
00292         depth++;
00293         
00294         if(!prs_align(ps))
00295                 return False;
00296 
00297         if ( !prs_uint32("index", ps, depth, &q_u->index) )
00298                 return False;
00299 
00300         q_u->buffer_size = 0x000000a8;
00301 
00302         if ( UNMARSHALLING(ps) ) {
00303                 q_u->buffer = TALLOC_ARRAY(get_talloc_ctx(), uint8, q_u->buffer_size );
00304                 if (!q_u->buffer) {
00305                         return False;
00306                 }
00307         }
00308 
00309         if ( !prs_uint8s(True, "buffer", ps, depth, q_u->buffer, q_u->buffer_size) )
00310                 return False;
00311 
00312         if ( !prs_uint32("buffer_size", ps, depth, &q_u->buffer_size) )
00313                 return False;
00314 
00315         if ( !prs_uint32("unknown1", ps, depth, &q_u->unknown1) )
00316                 return False;
00317         
00318         return True;
00319 
00320 }

BOOL ntsvcs_io_r_get_hw_profile_info ( const char *  desc,
NTSVCS_R_GET_HW_PROFILE_INFO r_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c325 行で定義されています。

参照先 NTSVCS_R_GET_HW_PROFILE_INFO::bufferNTSVCS_R_GET_HW_PROFILE_INFO::buffer_sizeget_talloc_ctx()prs_debug()NTSVCS_R_GET_HW_PROFILE_INFO::status.

参照元 api_ntsvcs_get_hw_profile_info().

00326 {
00327         if ( !r_u )
00328                 return False;
00329 
00330         prs_debug(ps, depth, desc, "ntsvcs_io_r_get_device_reg_property");
00331         depth++;
00332 
00333         if ( !prs_align(ps) )
00334                 return False;
00335 
00336         if ( UNMARSHALLING(ps) ) {
00337                 if (r_u->buffer_size) {
00338                         r_u->buffer = TALLOC_ARRAY(get_talloc_ctx(), uint8, r_u->buffer_size );
00339                         if (!r_u->buffer) {
00340                                 return False;
00341                         }
00342                 } else {
00343                         r_u->buffer = NULL;
00344                 }
00345         }
00346 
00347         if ( !prs_uint8s(True, "buffer", ps, depth, r_u->buffer, r_u->buffer_size) )
00348                 return False;
00349 
00350         if(!prs_werror("status", ps, depth, &r_u->status))
00351                 return False;
00352 
00353         return True;
00354 }

BOOL ntsvcs_io_q_hw_profile_flags ( const char *  desc,
NTSVCS_Q_HW_PROFILE_FLAGS q_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c359 行で定義されています。

参照先 NTSVCS_Q_HW_PROFILE_FLAGS::devicepathprs_debug()prs_io_unistr2()NTSVCS_Q_HW_PROFILE_FLAGS::unknown1NTSVCS_Q_HW_PROFILE_FLAGS::unknown2NTSVCS_Q_HW_PROFILE_FLAGS::unknown3NTSVCS_Q_HW_PROFILE_FLAGS::unknown4NTSVCS_Q_HW_PROFILE_FLAGS::unknown5NTSVCS_Q_HW_PROFILE_FLAGS::unknown6NTSVCS_Q_HW_PROFILE_FLAGS::unknown7.

参照元 api_ntsvcs_hw_profile_flags().

00360 {
00361         if (q_u == NULL)
00362                 return False;
00363 
00364         prs_debug(ps, depth, desc, "ntsvcs_io_q_hw_profile_flags");
00365         depth++;
00366         
00367         if(!prs_align(ps))
00368                 return False;
00369 
00370         if ( !prs_uint32("unknown1", ps, depth, &q_u->unknown1) )
00371                 return False;
00372                 
00373 
00374         if ( !prs_io_unistr2("devicepath", ps, depth, &q_u->devicepath) )
00375                 return False;
00376         if( !prs_align(ps) )
00377                 return False;
00378 
00379         if ( !prs_uint32("unknown2", ps, depth, &q_u->unknown2) )
00380                 return False;
00381         if ( !prs_uint32("unknown3", ps, depth, &q_u->unknown3) )
00382                 return False;
00383         if ( !prs_uint32("unknown4", ps, depth, &q_u->unknown4) )
00384                 return False;
00385         if ( !prs_uint32("unknown5", ps, depth, &q_u->unknown5) )
00386                 return False;
00387         if ( !prs_uint32("unknown6", ps, depth, &q_u->unknown6) )
00388                 return False;
00389         if ( !prs_uint32("unknown7", ps, depth, &q_u->unknown7) )
00390                 return False;
00391 
00392         if ( !prs_uint32("unknown1", ps, depth, &q_u->unknown1) )
00393                 return False;
00394         
00395         return True;
00396 
00397 }

BOOL ntsvcs_io_r_hw_profile_flags ( const char *  desc,
NTSVCS_R_HW_PROFILE_FLAGS r_u,
prs_struct ps,
int  depth 
)

parse_ntsvcs.c402 行で定義されています。

参照先 prs_debug()NTSVCS_R_HW_PROFILE_FLAGS::statusNTSVCS_R_HW_PROFILE_FLAGS::unknown1NTSVCS_R_HW_PROFILE_FLAGS::unknown2NTSVCS_R_HW_PROFILE_FLAGS::unknown3.

参照元 api_ntsvcs_hw_profile_flags().

00403 {
00404         if ( !r_u )
00405                 return False;
00406 
00407         prs_debug(ps, depth, desc, "ntsvcs_io_r_hw_profile_flags");
00408         depth++;
00409 
00410         if ( !prs_align(ps) )
00411                 return False;
00412 
00413         if ( !prs_uint32("unknown1", ps, depth, &r_u->unknown1) )
00414                 return False;
00415         if ( !prs_uint32("unknown2", ps, depth, &r_u->unknown2) )
00416                 return False;
00417         if ( !prs_uint32("unknown3", ps, depth, &r_u->unknown3) )
00418                 return False;
00419         if(!prs_werror("status", ps, depth, &r_u->status))
00420                 return False;
00421 
00422         return True;
00423 }


Sambaに対してSat Aug 29 21:24:10 2009に生成されました。  doxygen 1.4.7