mirror of
https://github.com/samba-team/samba.git
synced 2025-02-04 17:47:26 +03:00
s3-svcctl: remove old hand marshalling of svcctl_QueryServiceStatusEx.
Guenther
This commit is contained in:
parent
b42cb4944a
commit
385316a09a
@ -6157,7 +6157,6 @@ bool convert_port_data_1( NT_PORT_DATA_1 *port1, RPC_BUFFER *buf ) ;
|
||||
/* The following definitions come from rpc_parse/parse_svcctl.c */
|
||||
|
||||
bool svcctl_io_enum_services_status( const char *desc, ENUM_SERVICES_STATUS *enum_status, RPC_BUFFER *buffer, int depth );
|
||||
bool svcctl_io_service_status_process( const char *desc, SERVICE_STATUS_PROCESS *status, RPC_BUFFER *buffer, int depth );
|
||||
uint32 svcctl_sizeof_enum_services_status( ENUM_SERVICES_STATUS *status );
|
||||
bool svcctl_io_q_enum_services_status(const char *desc, SVCCTL_Q_ENUM_SERVICES_STATUS *q_u, prs_struct *ps, int depth);
|
||||
bool svcctl_io_r_enum_services_status(const char *desc, SVCCTL_R_ENUM_SERVICES_STATUS *r_u, prs_struct *ps, int depth);
|
||||
@ -6168,8 +6167,6 @@ uint32 svcctl_sizeof_service_description( SERVICE_DESCRIPTION *desc );
|
||||
bool svcctl_io_service_fa( const char *desc, SERVICE_FAILURE_ACTIONS *fa, RPC_BUFFER *buffer, int depth );
|
||||
uint32 svcctl_sizeof_service_fa( SERVICE_FAILURE_ACTIONS *fa);
|
||||
bool svcctl_io_r_query_service_config2(const char *desc, SVCCTL_R_QUERY_SERVICE_CONFIG2 *r_u, prs_struct *ps, int depth);
|
||||
bool svcctl_io_q_query_service_status_ex(const char *desc, SVCCTL_Q_QUERY_SERVICE_STATUSEX *q_u, prs_struct *ps, int depth);
|
||||
bool svcctl_io_r_query_service_status_ex(const char *desc, SVCCTL_R_QUERY_SERVICE_STATUSEX *r_u, prs_struct *ps, int depth);
|
||||
|
||||
/* The following definitions come from rpc_server/srv_eventlog.c */
|
||||
|
||||
@ -6409,7 +6406,6 @@ NTSTATUS rpc_svcctl2_init(void);
|
||||
|
||||
bool init_service_op_table( void );
|
||||
WERROR _svcctl_enum_services_status(pipes_struct *p, SVCCTL_Q_ENUM_SERVICES_STATUS *q_u, SVCCTL_R_ENUM_SERVICES_STATUS *r_u);
|
||||
WERROR _svcctl_query_service_status_ex( pipes_struct *p, SVCCTL_Q_QUERY_SERVICE_STATUSEX *q_u, SVCCTL_R_QUERY_SERVICE_STATUSEX *r_u );
|
||||
WERROR _svcctl_query_service_config2( pipes_struct *p, SVCCTL_Q_QUERY_SERVICE_CONFIG2 *q_u, SVCCTL_R_QUERY_SERVICE_CONFIG2 *r_u );
|
||||
|
||||
/* The following definitions come from rpcclient/cmd_dfs.c */
|
||||
|
@ -97,13 +97,6 @@
|
||||
|
||||
typedef struct SERVICE_STATUS SERVICE_STATUS;
|
||||
|
||||
typedef struct {
|
||||
SERVICE_STATUS status;
|
||||
uint32 process_id;
|
||||
uint32 service_flags;
|
||||
} SERVICE_STATUS_PROCESS;
|
||||
|
||||
|
||||
typedef struct {
|
||||
UNISTR servicename;
|
||||
UNISTR displayname;
|
||||
@ -164,19 +157,5 @@ typedef struct {
|
||||
} SVCCTL_R_QUERY_SERVICE_CONFIG2;
|
||||
|
||||
|
||||
/**************************/
|
||||
|
||||
typedef struct {
|
||||
POLICY_HND handle;
|
||||
uint32 level;
|
||||
uint32 buffer_size;
|
||||
} SVCCTL_Q_QUERY_SERVICE_STATUSEX;
|
||||
|
||||
typedef struct {
|
||||
RPC_BUFFER buffer;
|
||||
uint32 needed;
|
||||
WERROR status;
|
||||
} SVCCTL_R_QUERY_SERVICE_STATUSEX;
|
||||
|
||||
#endif /* _RPC_SVCCTL_H */
|
||||
|
||||
|
@ -79,29 +79,6 @@ bool svcctl_io_enum_services_status( const char *desc, ENUM_SERVICES_STATUS *enu
|
||||
/*******************************************************************
|
||||
********************************************************************/
|
||||
|
||||
bool svcctl_io_service_status_process( const char *desc, SERVICE_STATUS_PROCESS *status, RPC_BUFFER *buffer, int depth )
|
||||
{
|
||||
prs_struct *ps=&buffer->prs;
|
||||
|
||||
prs_debug(ps, depth, desc, "svcctl_io_service_status_process");
|
||||
depth++;
|
||||
|
||||
if ( !svcctl_io_service_status("status", &status->status, ps, depth) )
|
||||
return False;
|
||||
if(!prs_align(ps))
|
||||
return False;
|
||||
|
||||
if(!prs_uint32("process_id", ps, depth, &status->process_id))
|
||||
return False;
|
||||
if(!prs_uint32("service_flags", ps, depth, &status->service_flags))
|
||||
return False;
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
********************************************************************/
|
||||
|
||||
uint32 svcctl_sizeof_enum_services_status( ENUM_SERVICES_STATUS *status )
|
||||
{
|
||||
uint32 size = 0;
|
||||
@ -363,57 +340,3 @@ bool svcctl_io_r_query_service_config2(const char *desc, SVCCTL_R_QUERY_SERVICE_
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
********************************************************************/
|
||||
|
||||
bool svcctl_io_q_query_service_status_ex(const char *desc, SVCCTL_Q_QUERY_SERVICE_STATUSEX *q_u, prs_struct *ps, int depth)
|
||||
{
|
||||
if (q_u == NULL)
|
||||
return False;
|
||||
|
||||
prs_debug(ps, depth, desc, "svcctl_io_q_query_service_status_ex");
|
||||
depth++;
|
||||
|
||||
if(!prs_align(ps))
|
||||
return False;
|
||||
|
||||
if(!smb_io_pol_hnd("service_pol", &q_u->handle, ps, depth))
|
||||
return False;
|
||||
|
||||
if(!prs_uint32("level", ps, depth, &q_u->level))
|
||||
return False;
|
||||
|
||||
if(!prs_uint32("buffer_size", ps, depth, &q_u->buffer_size))
|
||||
return False;
|
||||
|
||||
return True;
|
||||
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
********************************************************************/
|
||||
|
||||
bool svcctl_io_r_query_service_status_ex(const char *desc, SVCCTL_R_QUERY_SERVICE_STATUSEX *r_u, prs_struct *ps, int depth)
|
||||
{
|
||||
if ( !r_u )
|
||||
return False;
|
||||
|
||||
prs_debug(ps, depth, desc, "svcctl_io_r_query_service_status_ex");
|
||||
depth++;
|
||||
|
||||
if (!prs_rpcbuffer("", ps, depth, &r_u->buffer))
|
||||
return False;
|
||||
|
||||
if(!prs_align(ps))
|
||||
return False;
|
||||
|
||||
if(!prs_uint32("needed", ps, depth, &r_u->needed))
|
||||
return False;
|
||||
|
||||
if(!prs_werror("status", ps, depth, &r_u->status))
|
||||
return False;
|
||||
|
||||
return True;
|
||||
}
|
||||
|
@ -580,7 +580,7 @@ WERROR _svcctl_QueryServiceStatusEx(pipes_struct *p,
|
||||
switch ( r->in.info_level ) {
|
||||
case SVC_STATUS_PROCESS_INFO:
|
||||
{
|
||||
SERVICE_STATUS_PROCESS svc_stat_proc;
|
||||
struct SERVICE_STATUS_PROCESS svc_stat_proc;
|
||||
enum ndr_err_code ndr_err;
|
||||
DATA_BLOB blob;
|
||||
|
||||
@ -597,7 +597,7 @@ WERROR _svcctl_QueryServiceStatusEx(pipes_struct *p,
|
||||
}
|
||||
|
||||
r->out.buffer = blob.data;
|
||||
buffer_size = sizeof(SERVICE_STATUS_PROCESS);
|
||||
buffer_size = sizeof(struct SERVICE_STATUS_PROCESS);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user