summaryrefslogtreecommitdiff
path: root/source3/rpc_client/cli_svcctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_client/cli_svcctl.c')
-rw-r--r--source3/rpc_client/cli_svcctl.c67
1 files changed, 0 insertions, 67 deletions
diff --git a/source3/rpc_client/cli_svcctl.c b/source3/rpc_client/cli_svcctl.c
index 51678083d3..360fbc7b89 100644
--- a/source3/rpc_client/cli_svcctl.c
+++ b/source3/rpc_client/cli_svcctl.c
@@ -23,70 +23,3 @@
/*******************************************************************
*******************************************************************/
-
-WERROR rpccli_svcctl_enumerate_services( struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
- POLICY_HND *hSCM, uint32 type, uint32 state,
- uint32 *returned, ENUM_SERVICES_STATUS **service_array )
-{
- SVCCTL_Q_ENUM_SERVICES_STATUS in;
- SVCCTL_R_ENUM_SERVICES_STATUS out;
- prs_struct qbuf, rbuf;
- uint32 resume = 0;
- ENUM_SERVICES_STATUS *services;
- int i;
-
- ZERO_STRUCT(in);
- ZERO_STRUCT(out);
-
- /* setup the request */
-
- memcpy( &in.handle, hSCM, sizeof(POLICY_HND) );
-
- in.type = type;
- in.state = state;
- in.resume = &resume;
-
- /* first time is to get the buffer size */
- in.buffer_size = 0;
-
- CLI_DO_RPC_WERR( cli, mem_ctx, &ndr_table_svcctl.syntax_id, SVCCTL_ENUM_SERVICES_STATUS_W,
- in, out,
- qbuf, rbuf,
- svcctl_io_q_enum_services_status,
- svcctl_io_r_enum_services_status,
- WERR_GENERAL_FAILURE );
-
- /* second time with correct buffer size...should be ok */
-
- if ( W_ERROR_EQUAL( out.status, WERR_MORE_DATA ) ) {
- in.buffer_size = out.needed;
-
- CLI_DO_RPC_WERR( cli, mem_ctx, &ndr_table_svcctl.syntax_id,
- SVCCTL_ENUM_SERVICES_STATUS_W,
- in, out,
- qbuf, rbuf,
- svcctl_io_q_enum_services_status,
- svcctl_io_r_enum_services_status,
- WERR_GENERAL_FAILURE );
- }
-
- if ( !W_ERROR_IS_OK(out.status) )
- return out.status;
-
- /* pull out the data */
- if (out.returned) {
- if ( !(services = TALLOC_ARRAY( mem_ctx, ENUM_SERVICES_STATUS, out.returned )) )
- return WERR_NOMEM;
- } else {
- services = NULL;
- }
-
- for ( i=0; i<out.returned; i++ ) {
- svcctl_io_enum_services_status( "", &services[i], &out.buffer, 0 );
- }
-
- *service_array = services;
- *returned = out.returned;
-
- return out.status;
-}