rpc_server/srv_srvsvc.c

ソースコードを見る。

関数

static BOOL api_srv_net_srv_get_info (pipes_struct *p)
static BOOL api_srv_net_srv_set_info (pipes_struct *p)
static BOOL api_srv_net_file_enum (pipes_struct *p)
static BOOL api_srv_net_conn_enum (pipes_struct *p)
static BOOL api_srv_net_sess_enum (pipes_struct *p)
static BOOL api_srv_net_sess_del (pipes_struct *p)
static BOOL api_srv_net_share_enum_all (pipes_struct *p)
static BOOL api_srv_net_share_enum (pipes_struct *p)
static BOOL api_srv_net_share_get_info (pipes_struct *p)
static BOOL api_srv_net_share_set_info (pipes_struct *p)
static BOOL api_srv_net_share_add (pipes_struct *p)
static BOOL api_srv_net_share_del (pipes_struct *p)
static BOOL api_srv_net_share_del_sticky (pipes_struct *p)
static BOOL api_srv_net_remote_tod (pipes_struct *p)
static BOOL api_srv_net_disk_enum (pipes_struct *p)
static BOOL api_srv_net_name_validate (pipes_struct *p)
static BOOL api_srv_net_file_query_secdesc (pipes_struct *p)
static BOOL api_srv_net_file_set_secdesc (pipes_struct *p)
static BOOL api_srv_net_file_close (pipes_struct *p)
void srvsvc_get_pipe_fns (struct api_struct **fns, int *n_fns)
NTSTATUS rpc_srv_init (void)

変数

static struct api_struct api_srv_cmds []


関数

static BOOL api_srv_net_srv_get_info ( pipes_struct p  )  [static]

srv_srvsvc.c37 行で定義されています。

参照先 _srv_net_srv_get_info()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_srv_get_info()srv_io_r_net_srv_get_info()r_net_srv_get_info::status.

00038 {
00039         SRV_Q_NET_SRV_GET_INFO q_u;
00040         SRV_R_NET_SRV_GET_INFO r_u;
00041         prs_struct *data = &p->in_data.data;
00042         prs_struct *rdata = &p->out_data.rdata;
00043 
00044         ZERO_STRUCT(q_u);
00045         ZERO_STRUCT(r_u);
00046 
00047         /* grab the net server get info */
00048         if (!srv_io_q_net_srv_get_info("", &q_u, data, 0))
00049                 return False;
00050 
00051         r_u.status = _srv_net_srv_get_info(p, &q_u, &r_u);
00052 
00053         /* store the response in the SMB stream */
00054         if (!srv_io_r_net_srv_get_info("", &r_u, rdata, 0))
00055                 return False;
00056 
00057         return True;
00058 }

static BOOL api_srv_net_srv_set_info ( pipes_struct p  )  [static]

srv_srvsvc.c64 行で定義されています。

参照先 _srv_net_srv_set_info()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_srv_set_info()srv_io_r_net_srv_set_info()r_net_srv_set_info::status.

00065 {
00066         SRV_Q_NET_SRV_SET_INFO q_u;
00067         SRV_R_NET_SRV_SET_INFO r_u;
00068         prs_struct *data = &p->in_data.data;
00069         prs_struct *rdata = &p->out_data.rdata;
00070 
00071         ZERO_STRUCT(q_u);
00072         ZERO_STRUCT(r_u);
00073 
00074         /* grab the net server set info */
00075         if (!srv_io_q_net_srv_set_info("", &q_u, data, 0))
00076                 return False;
00077 
00078         r_u.status = _srv_net_srv_set_info(p, &q_u, &r_u);
00079 
00080         /* store the response in the SMB stream */
00081         if (!srv_io_r_net_srv_set_info("", &r_u, rdata, 0))
00082                 return False;
00083 
00084         return True;
00085 }

static BOOL api_srv_net_file_enum ( pipes_struct p  )  [static]

srv_srvsvc.c91 行で定義されています。

参照先 _srv_net_file_enum()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_file_enum()srv_io_r_net_file_enum()SRV_R_NET_FILE_ENUM::status.

00092 {
00093         SRV_Q_NET_FILE_ENUM q_u;
00094         SRV_R_NET_FILE_ENUM r_u;
00095         prs_struct *data = &p->in_data.data;
00096         prs_struct *rdata = &p->out_data.rdata;
00097 
00098         ZERO_STRUCT(q_u);
00099         ZERO_STRUCT(r_u);
00100 
00101         /* grab the net file enum */
00102         if (!srv_io_q_net_file_enum("", &q_u, data, 0))
00103                 return False;
00104 
00105         r_u.status = _srv_net_file_enum(p, &q_u, &r_u);
00106 
00107         /* store the response in the SMB stream */
00108         if(!srv_io_r_net_file_enum("", &r_u, rdata, 0))
00109                 return False;
00110 
00111         return True;
00112 }

static BOOL api_srv_net_conn_enum ( pipes_struct p  )  [static]

srv_srvsvc.c118 行で定義されています。

参照先 _srv_net_conn_enum()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_conn_enum()srv_io_r_net_conn_enum()r_net_conn_enum_info::status.

00119 {
00120         SRV_Q_NET_CONN_ENUM q_u;
00121         SRV_R_NET_CONN_ENUM r_u;
00122         prs_struct *data = &p->in_data.data;
00123         prs_struct *rdata = &p->out_data.rdata;
00124 
00125         ZERO_STRUCT(q_u);
00126         ZERO_STRUCT(r_u);
00127 
00128         /* grab the net server get enum */
00129         if (!srv_io_q_net_conn_enum("", &q_u, data, 0))
00130                 return False;
00131 
00132         r_u.status = _srv_net_conn_enum(p, &q_u, &r_u);
00133 
00134         /* store the response in the SMB stream */
00135         if (!srv_io_r_net_conn_enum("", &r_u, rdata, 0))
00136                 return False;
00137 
00138         return True;
00139 }

static BOOL api_srv_net_sess_enum ( pipes_struct p  )  [static]

srv_srvsvc.c145 行で定義されています。

参照先 _srv_net_sess_enum()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_sess_enum()srv_io_r_net_sess_enum()SRV_R_NET_SESS_ENUM::status.

00146 {
00147         SRV_Q_NET_SESS_ENUM q_u;
00148         SRV_R_NET_SESS_ENUM r_u;
00149         prs_struct *data = &p->in_data.data;
00150         prs_struct *rdata = &p->out_data.rdata;
00151 
00152         ZERO_STRUCT(q_u);
00153         ZERO_STRUCT(r_u);
00154 
00155         /* grab the net server get enum */
00156         if (!srv_io_q_net_sess_enum("", &q_u, data, 0))
00157                 return False;
00158 
00159         /* construct reply.  always indicate success */
00160         r_u.status = _srv_net_sess_enum(p, &q_u, &r_u);
00161 
00162         /* store the response in the SMB stream */
00163         if (!srv_io_r_net_sess_enum("", &r_u, rdata, 0))
00164                 return False;
00165 
00166         return True;
00167 }

static BOOL api_srv_net_sess_del ( pipes_struct p  )  [static]

srv_srvsvc.c173 行で定義されています。

参照先 _srv_net_sess_del()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_sess_del()srv_io_r_net_sess_del()r_net_sess_del::status.

00174 {
00175         SRV_Q_NET_SESS_DEL q_u;
00176         SRV_R_NET_SESS_DEL r_u;
00177         prs_struct *data = &p->in_data.data;
00178         prs_struct *rdata = &p->out_data.rdata;
00179 
00180         ZERO_STRUCT(q_u);
00181         ZERO_STRUCT(r_u);
00182 
00183         /* grab the net server get enum */
00184         if (!srv_io_q_net_sess_del("", &q_u, data, 0))
00185                 return False;
00186 
00187         /* construct reply.  always indicate success */
00188         r_u.status = _srv_net_sess_del(p, &q_u, &r_u);
00189 
00190         /* store the response in the SMB stream */
00191         if (!srv_io_r_net_sess_del("", &r_u, rdata, 0))
00192                 return False;
00193 
00194         return True;
00195 }

static BOOL api_srv_net_share_enum_all ( pipes_struct p  )  [static]

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

参照先 _srv_net_share_enum_all()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_share_enum()srv_io_r_net_share_enum()r_net_share_enum_info::status.

00202 {
00203         SRV_Q_NET_SHARE_ENUM q_u;
00204         SRV_R_NET_SHARE_ENUM r_u;
00205         prs_struct *data = &p->in_data.data;
00206         prs_struct *rdata = &p->out_data.rdata;
00207 
00208         ZERO_STRUCT(q_u);
00209         ZERO_STRUCT(r_u);
00210 
00211         /* Unmarshall the net server get enum. */
00212         if(!srv_io_q_net_share_enum("", &q_u, data, 0)) {
00213                 DEBUG(0,("api_srv_net_share_enum_all: Failed to unmarshall SRV_Q_NET_SHARE_ENUM.\n"));
00214                 return False;
00215         }
00216 
00217         r_u.status = _srv_net_share_enum_all(p, &q_u, &r_u);
00218 
00219         if (!srv_io_r_net_share_enum("", &r_u, rdata, 0)) {
00220                 DEBUG(0,("api_srv_net_share_enum_all: Failed to marshall SRV_R_NET_SHARE_ENUM.\n"));
00221                 return False;
00222         }
00223 
00224         return True;
00225 }

static BOOL api_srv_net_share_enum ( pipes_struct p  )  [static]

srv_srvsvc.c231 行で定義されています。

参照先 _srv_net_share_enum()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_share_enum()srv_io_r_net_share_enum()r_net_share_enum_info::status.

00232 {
00233         SRV_Q_NET_SHARE_ENUM q_u;
00234         SRV_R_NET_SHARE_ENUM r_u;
00235         prs_struct *data = &p->in_data.data;
00236         prs_struct *rdata = &p->out_data.rdata;
00237 
00238         ZERO_STRUCT(q_u);
00239         ZERO_STRUCT(r_u);
00240 
00241         /* Unmarshall the net server get enum. */
00242         if(!srv_io_q_net_share_enum("", &q_u, data, 0)) {
00243                 DEBUG(0,("api_srv_net_share_enum: Failed to unmarshall SRV_Q_NET_SHARE_ENUM.\n"));
00244                 return False;
00245         }
00246 
00247         r_u.status = _srv_net_share_enum(p, &q_u, &r_u);
00248 
00249         if (!srv_io_r_net_share_enum("", &r_u, rdata, 0)) {
00250                 DEBUG(0,("api_srv_net_share_enum: Failed to marshall SRV_R_NET_SHARE_ENUM.\n"));
00251                 return False;
00252         }
00253 
00254         return True;
00255 }

static BOOL api_srv_net_share_get_info ( pipes_struct p  )  [static]

srv_srvsvc.c261 行で定義されています。

参照先 _srv_net_share_get_info()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_share_get_info()srv_io_r_net_share_get_info()r_net_share_get_info_info::status.

00262 {
00263         SRV_Q_NET_SHARE_GET_INFO q_u;
00264         SRV_R_NET_SHARE_GET_INFO r_u;
00265         prs_struct *data = &p->in_data.data;
00266         prs_struct *rdata = &p->out_data.rdata;
00267 
00268         ZERO_STRUCT(q_u);
00269         ZERO_STRUCT(r_u);
00270 
00271         /* Unmarshall the net server get info. */
00272         if(!srv_io_q_net_share_get_info("", &q_u, data, 0)) {
00273                 DEBUG(0,("api_srv_net_share_get_info: Failed to unmarshall SRV_Q_NET_SHARE_GET_INFO.\n"));
00274                 return False;
00275         }
00276 
00277         r_u.status = _srv_net_share_get_info(p, &q_u, &r_u);
00278 
00279         if(!srv_io_r_net_share_get_info("", &r_u, rdata, 0)) {
00280                 DEBUG(0,("api_srv_net_share_get_info: Failed to marshall SRV_R_NET_SHARE_GET_INFO.\n"));
00281                 return False;
00282         }
00283 
00284         return True;
00285 }

static BOOL api_srv_net_share_set_info ( pipes_struct p  )  [static]

srv_srvsvc.c291 行で定義されています。

参照先 _srv_net_share_set_info()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_share_set_info()srv_io_r_net_share_set_info()r_net_share_set_info::status.

00292 {
00293         SRV_Q_NET_SHARE_SET_INFO q_u;
00294         SRV_R_NET_SHARE_SET_INFO r_u;
00295         prs_struct *data = &p->in_data.data;
00296         prs_struct *rdata = &p->out_data.rdata;
00297 
00298         ZERO_STRUCT(q_u);
00299         ZERO_STRUCT(r_u);
00300 
00301         /* Unmarshall the net server set info. */
00302         if(!srv_io_q_net_share_set_info("", &q_u, data, 0)) {
00303                 DEBUG(0,("api_srv_net_share_set_info: Failed to unmarshall SRV_Q_NET_SHARE_SET_INFO.\n"));
00304                 return False;
00305         }
00306 
00307         r_u.status = _srv_net_share_set_info(p, &q_u, &r_u);
00308 
00309         if(!srv_io_r_net_share_set_info("", &r_u, rdata, 0)) {
00310                 DEBUG(0,("api_srv_net_share_set_info: Failed to marshall SRV_R_NET_SHARE_SET_INFO.\n"));
00311                 return False;
00312         }
00313 
00314         return True;
00315 }

static BOOL api_srv_net_share_add ( pipes_struct p  )  [static]

srv_srvsvc.c321 行で定義されています。

参照先 _srv_net_share_add()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_share_add()srv_io_r_net_share_add()r_net_share_add::status.

00322 {
00323         SRV_Q_NET_SHARE_ADD q_u;
00324         SRV_R_NET_SHARE_ADD r_u;
00325         prs_struct *data = &p->in_data.data;
00326         prs_struct *rdata = &p->out_data.rdata;
00327 
00328         ZERO_STRUCT(q_u);
00329         ZERO_STRUCT(r_u);
00330 
00331         /* Unmarshall the net server add info. */
00332         if(!srv_io_q_net_share_add("", &q_u, data, 0)) {
00333                 DEBUG(0,("api_srv_net_share_add: Failed to unmarshall SRV_Q_NET_SHARE_ADD.\n"));
00334                 return False;
00335         }
00336 
00337         r_u.status = _srv_net_share_add(p, &q_u, &r_u);
00338 
00339         if(!srv_io_r_net_share_add("", &r_u, rdata, 0)) {
00340                 DEBUG(0,("api_srv_net_share_add: Failed to marshall SRV_R_NET_SHARE_ADD.\n"));
00341                 return False;
00342         }
00343 
00344         return True;
00345 }

static BOOL api_srv_net_share_del ( pipes_struct p  )  [static]

srv_srvsvc.c351 行で定義されています。

参照先 _srv_net_share_del()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_share_del()srv_io_r_net_share_del()r_net_share_del::status.

00352 {
00353         SRV_Q_NET_SHARE_DEL q_u;
00354         SRV_R_NET_SHARE_DEL r_u;
00355         prs_struct *data = &p->in_data.data;
00356         prs_struct *rdata = &p->out_data.rdata;
00357 
00358         ZERO_STRUCT(q_u);
00359         ZERO_STRUCT(r_u);
00360 
00361         /* Unmarshall the net server del info. */
00362         if(!srv_io_q_net_share_del("", &q_u, data, 0)) {
00363                 DEBUG(0,("api_srv_net_share_del: Failed to unmarshall SRV_Q_NET_SHARE_DEL.\n"));
00364                 return False;
00365         }
00366 
00367         r_u.status = _srv_net_share_del(p, &q_u, &r_u);
00368 
00369         if(!srv_io_r_net_share_del("", &r_u, rdata, 0)) {
00370                 DEBUG(0,("api_srv_net_share_del: Failed to marshall SRV_R_NET_SHARE_DEL.\n"));
00371                 return False;
00372         }
00373 
00374         return True;
00375 }

static BOOL api_srv_net_share_del_sticky ( pipes_struct p  )  [static]

srv_srvsvc.c381 行で定義されています。

参照先 _srv_net_share_del_sticky()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_share_del()srv_io_r_net_share_del()r_net_share_del::status.

00382 {
00383         SRV_Q_NET_SHARE_DEL q_u;
00384         SRV_R_NET_SHARE_DEL r_u;
00385         prs_struct *data = &p->in_data.data;
00386         prs_struct *rdata = &p->out_data.rdata;
00387 
00388         ZERO_STRUCT(q_u);
00389         ZERO_STRUCT(r_u);
00390 
00391         /* Unmarshall the net server del info. */
00392         if(!srv_io_q_net_share_del("", &q_u, data, 0)) {
00393                 DEBUG(0,("api_srv_net_share_del_sticky: Failed to unmarshall SRV_Q_NET_SHARE_DEL.\n"));
00394                 return False;
00395         }
00396 
00397         r_u.status = _srv_net_share_del_sticky(p, &q_u, &r_u);
00398 
00399         if(!srv_io_r_net_share_del("", &r_u, rdata, 0)) {
00400                 DEBUG(0,("api_srv_net_share_del_sticky: Failed to marshall SRV_R_NET_SHARE_DEL.\n"));
00401                 return False;
00402         }
00403 
00404         return True;
00405 }

static BOOL api_srv_net_remote_tod ( pipes_struct p  )  [static]

srv_srvsvc.c411 行で定義されています。

参照先 _srv_net_remote_tod()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_remote_tod()srv_io_r_net_remote_tod()r_net_remote_tod::status.

00412 {
00413         SRV_Q_NET_REMOTE_TOD q_u;
00414         SRV_R_NET_REMOTE_TOD r_u;
00415         prs_struct *data = &p->in_data.data;
00416         prs_struct *rdata = &p->out_data.rdata;
00417 
00418         ZERO_STRUCT(q_u);
00419         ZERO_STRUCT(r_u);
00420 
00421         /* grab the net server get enum */
00422         if(!srv_io_q_net_remote_tod("", &q_u, data, 0))
00423                 return False;
00424 
00425         r_u.status = _srv_net_remote_tod(p, &q_u, &r_u);
00426 
00427         /* store the response in the SMB stream */
00428         if(!srv_io_r_net_remote_tod("", &r_u, rdata, 0))
00429                 return False;
00430 
00431         return True;
00432 }

static BOOL api_srv_net_disk_enum ( pipes_struct p  )  [static]

srv_srvsvc.c438 行で定義されています。

参照先 _srv_net_disk_enum()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_disk_enum()srv_io_r_net_disk_enum()net_srv_disk_enum::status.

00439 {
00440         SRV_Q_NET_DISK_ENUM q_u;
00441         SRV_R_NET_DISK_ENUM r_u;
00442         prs_struct *data = &p->in_data.data;
00443         prs_struct *rdata = &p->out_data.rdata;
00444 
00445         ZERO_STRUCT(q_u);
00446         ZERO_STRUCT(r_u);
00447 
00448         /* Unmarshall the net server disk enum. */
00449         if(!srv_io_q_net_disk_enum("", &q_u, data, 0)) {
00450                 DEBUG(0,("api_srv_net_disk_enum: Failed to unmarshall SRV_Q_NET_DISK_ENUM.\n"));
00451                 return False;
00452         }
00453 
00454         r_u.status = _srv_net_disk_enum(p, &q_u, &r_u);
00455 
00456         if(!srv_io_r_net_disk_enum("", &r_u, rdata, 0)) {
00457                 DEBUG(0,("api_srv_net_disk_enum: Failed to marshall SRV_R_NET_DISK_ENUM.\n"));
00458                 return False;
00459         }
00460 
00461         return True;
00462 }

static BOOL api_srv_net_name_validate ( pipes_struct p  )  [static]

srv_srvsvc.c468 行で定義されています。

参照先 _srv_net_name_validate()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_name_validate()srv_io_r_net_name_validate()SRV_R_NET_NAME_VALIDATE::status.

00469 {
00470         SRV_Q_NET_NAME_VALIDATE q_u;
00471         SRV_R_NET_NAME_VALIDATE r_u;
00472         prs_struct *data = &p->in_data.data;
00473         prs_struct *rdata = &p->out_data.rdata;
00474  
00475         ZERO_STRUCT(q_u);
00476         ZERO_STRUCT(r_u);
00477   
00478         /* Unmarshall the net server disk enum. */
00479         if(!srv_io_q_net_name_validate("", &q_u, data, 0)) {
00480                 DEBUG(0,("api_srv_net_name_validate: Failed to unmarshall SRV_Q_NET_NAME_VALIDATE.\n"));
00481                 return False;
00482         }
00483 
00484         r_u.status = _srv_net_name_validate(p, &q_u, &r_u);
00485 
00486         if(!srv_io_r_net_name_validate("", &r_u, rdata, 0)) {
00487                 DEBUG(0,("api_srv_net_name_validate: Failed to marshall SRV_R_NET_NAME_VALIDATE.\n"));
00488                 return False;
00489         }
00490 
00491         return True;
00492 }

static BOOL api_srv_net_file_query_secdesc ( pipes_struct p  )  [static]

srv_srvsvc.c498 行で定義されています。

参照先 _srv_net_file_query_secdesc()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_file_query_secdesc()srv_io_r_net_file_query_secdesc()r_net_file_query_secdesc::status.

00499 {
00500         SRV_Q_NET_FILE_QUERY_SECDESC q_u;
00501         SRV_R_NET_FILE_QUERY_SECDESC r_u;
00502         prs_struct *data = &p->in_data.data;
00503         prs_struct *rdata = &p->out_data.rdata;
00504 
00505         ZERO_STRUCT(q_u);
00506         ZERO_STRUCT(r_u);
00507 
00508         /* Unmarshall the net file get info from Win9x */
00509         if(!srv_io_q_net_file_query_secdesc("", &q_u, data, 0)) {
00510                 DEBUG(0,("api_srv_net_file_query_secdesc: Failed to unmarshall SRV_Q_NET_FILE_QUERY_SECDESC.\n"));
00511                 return False;
00512         }
00513 
00514         r_u.status = _srv_net_file_query_secdesc(p, &q_u, &r_u);
00515 
00516         if(!srv_io_r_net_file_query_secdesc("", &r_u, rdata, 0)) {
00517                 DEBUG(0,("api_srv_net_file_query_secdesc: Failed to marshall SRV_R_NET_FILE_QUERY_SECDESC.\n"));
00518                 return False;
00519         }
00520 
00521         return True;
00522 }

static BOOL api_srv_net_file_set_secdesc ( pipes_struct p  )  [static]

srv_srvsvc.c528 行で定義されています。

参照先 _srv_net_file_set_secdesc()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_file_set_secdesc()srv_io_r_net_file_set_secdesc()r_net_file_set_secdesc::status.

00529 {
00530         SRV_Q_NET_FILE_SET_SECDESC q_u;
00531         SRV_R_NET_FILE_SET_SECDESC r_u;
00532         prs_struct *data = &p->in_data.data;
00533         prs_struct *rdata = &p->out_data.rdata;
00534 
00535         ZERO_STRUCT(q_u);
00536         ZERO_STRUCT(r_u);
00537 
00538         /* Unmarshall the net file set info from Win9x */
00539         if(!srv_io_q_net_file_set_secdesc("", &q_u, data, 0)) {
00540                 DEBUG(0,("api_srv_net_file_set_secdesc: Failed to unmarshall SRV_Q_NET_FILE_SET_SECDESC.\n"));
00541                 return False;
00542         }
00543 
00544         r_u.status = _srv_net_file_set_secdesc(p, &q_u, &r_u);
00545 
00546         if(!srv_io_r_net_file_set_secdesc("", &r_u, rdata, 0)) {
00547                 DEBUG(0,("api_srv_net_file_set_secdesc: Failed to marshall SRV_R_NET_FILE_SET_SECDESC.\n"));
00548                 return False;
00549         }
00550 
00551         return True;
00552 }

static BOOL api_srv_net_file_close ( pipes_struct p  )  [static]

srv_srvsvc.c557 行で定義されています。

参照先 _srv_net_file_close()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasrv_io_q_net_file_close()srv_io_r_net_file_close()SRV_R_NET_FILE_CLOSE::status.

00558 {
00559         SRV_Q_NET_FILE_CLOSE q_u;
00560         SRV_R_NET_FILE_CLOSE r_u;
00561         prs_struct *data = &p->in_data.data;
00562         prs_struct *rdata = &p->out_data.rdata;
00563 
00564         ZERO_STRUCT(q_u);
00565         ZERO_STRUCT(r_u);
00566 
00567         /* Unmarshall the net file set info from Win9x */
00568         if(!srv_io_q_net_file_close("", &q_u, data, 0)) {
00569                 DEBUG(0,("api_srv_net_file_close: Failed to unmarshall SRV_Q_NET_FILE_SET_SECDESC.\n"));
00570                 return False;
00571         }
00572 
00573         r_u.status = _srv_net_file_close(p, &q_u, &r_u);
00574 
00575         if(!srv_io_r_net_file_close("", &r_u, rdata, 0)) {
00576                 DEBUG(0,("api_srv_net_file_close: Failed to marshall SRV_R_NET_FILE_SET_SECDESC.\n"));
00577                 return False;
00578         }
00579 
00580         return True;
00581 }

void srvsvc_get_pipe_fns ( struct api_struct **  fns,
int *  n_fns 
)

srv_srvsvc.c610 行で定義されています。

参照先 api_srv_cmds.

参照元 get_pipe_fns().

00611 {
00612         *fns = api_srv_cmds;
00613         *n_fns = sizeof(api_srv_cmds) / sizeof(struct api_struct);
00614 }

NTSTATUS rpc_srv_init ( void   ) 

srv_srvsvc.c617 行で定義されています。

参照先 api_srv_cmdsrpc_pipe_register_commands().

00618 {
00619   return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "srvsvc", "ntsvcs", api_srv_cmds,
00620                                     sizeof(api_srv_cmds) / sizeof(struct api_struct));
00621 }


変数

struct api_struct api_srv_cmds[] [static]

初期値:

{
      { "SRV_NET_CONN_ENUM"         , SRV_NET_CONN_ENUM         , api_srv_net_conn_enum          },
      { "SRV_NET_SESS_ENUM"         , SRV_NET_SESS_ENUM         , api_srv_net_sess_enum          },
      { "SRV_NET_SESS_DEL"          , SRV_NET_SESS_DEL          , api_srv_net_sess_del           },
      { "SRV_NET_SHARE_ENUM_ALL"    , SRV_NET_SHARE_ENUM_ALL    , api_srv_net_share_enum_all     },
      { "SRV_NET_SHARE_ENUM"        , SRV_NET_SHARE_ENUM        , api_srv_net_share_enum         },
      { "SRV_NET_SHARE_ADD"         , SRV_NET_SHARE_ADD         , api_srv_net_share_add          },
      { "SRV_NET_SHARE_DEL"         , SRV_NET_SHARE_DEL         , api_srv_net_share_del          },
      { "SRV_NET_SHARE_DEL_STICKY"  , SRV_NET_SHARE_DEL_STICKY  , api_srv_net_share_del_sticky   },
      { "SRV_NET_SHARE_GET_INFO"    , SRV_NET_SHARE_GET_INFO    , api_srv_net_share_get_info     },
      { "SRV_NET_SHARE_SET_INFO"    , SRV_NET_SHARE_SET_INFO    , api_srv_net_share_set_info     },
      { "SRV_NET_FILE_ENUM"         , SRV_NET_FILE_ENUM         , api_srv_net_file_enum          },
      { "SRV_NET_SRV_GET_INFO"      , SRV_NET_SRV_GET_INFO      , api_srv_net_srv_get_info       },
      { "SRV_NET_SRV_SET_INFO"      , SRV_NET_SRV_SET_INFO      , api_srv_net_srv_set_info       },
      { "SRV_NET_REMOTE_TOD"        , SRV_NET_REMOTE_TOD        , api_srv_net_remote_tod         },
      { "SRV_NET_DISK_ENUM"         , SRV_NET_DISK_ENUM         , api_srv_net_disk_enum          },
      { "SRV_NET_NAME_VALIDATE"     , SRV_NET_NAME_VALIDATE     , api_srv_net_name_validate      },
      { "SRV_NET_FILE_QUERY_SECDESC", SRV_NET_FILE_QUERY_SECDESC, api_srv_net_file_query_secdesc },
      { "SRV_NET_FILE_SET_SECDESC"  , SRV_NET_FILE_SET_SECDESC  , api_srv_net_file_set_secdesc   },
      { "SRV_NET_FILE_CLOSE"        , SRV_NET_FILE_CLOSE        , api_srv_net_file_close         }
}

srv_srvsvc.c587 行で定義されています。

参照元 rpc_srv_init()srvsvc_get_pipe_fns().


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