From 259d44dbb2c2239339f6888fd5da12632abcbb28 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Thu, 24 Mar 2005 16:11:23 +0000 Subject: r6038: adding more flesh to 'net rpc service' open and close the service control manager. Also experimenting with ideas for cli_xxx() interface. (This used to be commit 4da89ef17b8c4644b97b923cebfe8e446b508b4d) --- source3/include/rpc_secdes.h | 47 ++++++++++++++++++++++++++++++++++++++++++++ source3/include/rpc_svcctl.h | 8 +++----- 2 files changed, 50 insertions(+), 5 deletions(-) (limited to 'source3/include') diff --git a/source3/include/rpc_secdes.h b/source3/include/rpc_secdes.h index 3e4c47dce9..ea987f9e4e 100644 --- a/source3/include/rpc_secdes.h +++ b/source3/include/rpc_secdes.h @@ -472,4 +472,51 @@ typedef struct standard_mapping { (STANDARD_RIGHTS_EXECUTE_ACCESS | \ SA_RIGHT_ALIAS_LOOKUP_INFO ) /* 0x00020008 */ +/* + * Acces bits for the svcctl objects + */ + +/* Service Control Manager Bits */ + +#define SC_RIGHT_MGR_CONNECT 0x0001 +#define SC_RIGHT_MGR_CREATE_SERVICE 0x0002 +#define SC_RIGHT_MGR_ENUMERATE_SERVICE 0x0004 +#define SC_RIGHT_MGR_LOCK 0x0008 +#define SC_RIGHT_MGR_QUERY_LOCK_STATUS 0x0010 +#define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG 0x0020 + +#define SC_MANAGER_ALL_ACCESS \ + ( STANDARD_RIGHTS_REQUIRED_ACCESS | \ + SC_RIGHT_MGR_CONNECT | \ + SC_RIGHT_MGR_CREATE_SERVICE | \ + SC_RIGHT_MGR_ENUMERATE_SERVICE | \ + SC_RIGHT_MGR_LOCK | \ + SC_RIGHT_MGR_QUERY_LOCK_STATUS | \ + SC_RIGHT_MGR_MODIFY_BOOT_CONFIG ) + +/* Service Object Bits */ + +#define SC_RIGHT_SVC_QUERY_CONFIG 0x0001 +#define SC_RIGHT_SVC_CHANGE_CONFIG 0x0002 +#define SC_RIGHT_SVC_QUERY_STATUS 0x0004 +#define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS 0x0008 +#define SC_RIGHT_SVC_START 0x0010 +#define SC_RIGHT_SVC_STOP 0x0020 +#define SC_RIGHT_SVC_PAUSE_CONTINUE 0x0040 +#define SC_RIGHT_SVC_INTERROGATE 0x0080 +#define SC_RIGHT_SVC_USER_DEFINED_CONTROL 0x0100 + +#define SERVICE_ALL_ACCESS \ + ( STANDARD_RIGHTS_REQUIRED_ACCESS | \ + SC_RIGHT_SVC_QUERY_CONFIG | \ + SC_RIGHT_SVC_CHANGE_CONFIG | \ + SC_RIGHT_SVC_QUERY_STATUS | \ + SC_RIGHT_SVC_ENUMERATE_DEPENDENTS | \ + SC_RIGHT_SVC_START | \ + SC_RIGHT_SVC_STOP | \ + SC_RIGHT_SVC_PAUSE_CONTINUE | \ + SC_RIGHT_SVC_INTERROGATE | \ + SC_RIGHT_SVC_USER_DEFINED_CONTROL ) + + #endif /* _RPC_SECDES_H */ diff --git a/source3/include/rpc_svcctl.h b/source3/include/rpc_svcctl.h index 8006ea0091..55b7828d35 100644 --- a/source3/include/rpc_svcctl.h +++ b/source3/include/rpc_svcctl.h @@ -119,11 +119,9 @@ typedef struct { /**************************/ typedef struct { - uint32 ptr_srv; - UNISTR2 servername; - uint32 ptr_db; - UNISTR2 database; - uint32 access_mask; + UNISTR2 *servername; + UNISTR2 *database; + uint32 access; } SVCCTL_Q_OPEN_SCMANAGER; typedef struct { -- cgit