diff options
author | Gerald Carter <jerry@samba.org> | 2005-03-24 16:11:23 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:56:17 -0500 |
commit | 259d44dbb2c2239339f6888fd5da12632abcbb28 (patch) | |
tree | 89c120869821b3b9ee040c1b5c1b404d6c53f56f /source3/include | |
parent | 987fd2ed97b91804646b8d93fff37d7f2efa6bab (diff) | |
download | samba-259d44dbb2c2239339f6888fd5da12632abcbb28.tar.gz samba-259d44dbb2c2239339f6888fd5da12632abcbb28.tar.bz2 samba-259d44dbb2c2239339f6888fd5da12632abcbb28.zip |
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)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/rpc_secdes.h | 47 | ||||
-rw-r--r-- | source3/include/rpc_svcctl.h | 8 |
2 files changed, 50 insertions, 5 deletions
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 { |