summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-10-23 18:50:34 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-10-23 18:50:34 +0200
commitc17898db4e2e1ac342ce9dfb0991d58dbd6ea4af (patch)
treed3bc06f9a617091b0300af4e1f85527391a1d1d9 /librpc
parent81fabeff2dc51c043da19cd095175c4951f527b6 (diff)
parentf36ffa768129f01b0c12d30bff5e4e205dd3676c (diff)
downloadsamba-c17898db4e2e1ac342ce9dfb0991d58dbd6ea4af.tar.gz
samba-c17898db4e2e1ac342ce9dfb0991d58dbd6ea4af.tar.bz2
samba-c17898db4e2e1ac342ce9dfb0991d58dbd6ea4af.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'librpc')
-rw-r--r--librpc/idl/svcctl.idl47
1 files changed, 46 insertions, 1 deletions
diff --git a/librpc/idl/svcctl.idl b/librpc/idl/svcctl.idl
index 3eb686fe15..fa8e10988c 100644
--- a/librpc/idl/svcctl.idl
+++ b/librpc/idl/svcctl.idl
@@ -4,7 +4,7 @@
svcctl interface definitions
*/
-import "misc.idl";
+import "misc.idl", "security.idl";
[ uuid("367abb81-9844-35f1-ad32-98f038001003"),
version(2.0),
pointer_default(unique),
@@ -227,6 +227,9 @@ import "misc.idl";
/*****************/
/* Function 0x0f */
+
+ /* Service Control Manager Bits */
+
typedef [bitmap32bit] bitmap {
SC_RIGHT_MGR_CONNECT = 0x0001,
SC_RIGHT_MGR_CREATE_SERVICE = 0x0002,
@@ -236,6 +239,23 @@ import "misc.idl";
SC_RIGHT_MGR_MODIFY_BOOT_CONFIG = 0x0020
} svcctl_MgrAccessMask;
+ const int SC_MANAGER_READ_ACCESS =
+ (SEC_STD_READ_CONTROL |
+ SC_RIGHT_MGR_CONNECT |
+ SC_RIGHT_MGR_ENUMERATE_SERVICE |
+ SC_RIGHT_MGR_QUERY_LOCK_STATUS);
+
+ const int SC_MANAGER_EXECUTE_ACCESS = SC_MANAGER_READ_ACCESS;
+
+ const int SC_MANAGER_WRITE_ACCESS =
+ (SEC_STD_REQUIRED |
+ SC_MANAGER_READ_ACCESS |
+ SC_RIGHT_MGR_CREATE_SERVICE |
+ SC_RIGHT_MGR_LOCK |
+ SC_RIGHT_MGR_MODIFY_BOOT_CONFIG);
+
+ const int SC_MANAGER_ALL_ACCESS = SC_MANAGER_WRITE_ACCESS;
+
WERROR svcctl_OpenSCManagerW(
[in,unique] [string,charset(UTF16)] uint16 *MachineName,
[in,unique] [string,charset(UTF16)] uint16 *DatabaseName,
@@ -245,6 +265,9 @@ import "misc.idl";
/*****************/
/* Function 0x10 */
+
+ /* Service Object Bits */
+
typedef [bitmap32bit] bitmap {
SC_RIGHT_SVC_QUERY_CONFIG = 0x0001,
SC_RIGHT_SVC_CHANGE_CONFIG = 0x0002,
@@ -257,6 +280,28 @@ import "misc.idl";
SC_RIGHT_SVC_USER_DEFINED_CONTROL = 0x0100
} svcctl_ServiceAccessMask;
+ const int SERVICE_READ_ACCESS =
+ (SEC_STD_READ_CONTROL |
+ SC_RIGHT_SVC_ENUMERATE_DEPENDENTS |
+ SC_RIGHT_SVC_INTERROGATE |
+ SC_RIGHT_SVC_QUERY_CONFIG |
+ SC_RIGHT_SVC_QUERY_STATUS |
+ SC_RIGHT_SVC_USER_DEFINED_CONTROL);
+
+ const int SERVICE_EXECUTE_ACCESS =
+ (SERVICE_READ_ACCESS |
+ SC_RIGHT_SVC_START |
+ SC_RIGHT_SVC_STOP |
+ SC_RIGHT_SVC_PAUSE_CONTINUE);
+
+ const int SERVICE_WRITE_ACCESS =
+ (SEC_STD_REQUIRED |
+ SERVICE_READ_ACCESS |
+ SERVICE_EXECUTE_ACCESS |
+ SC_RIGHT_SVC_CHANGE_CONFIG);
+
+ const int SERVICE_ALL_ACCESS = SERVICE_WRITE_ACCESS;
+
WERROR svcctl_OpenServiceW(
[in,ref] policy_handle *scmanager_handle,
[in] [string,charset(UTF16)] uint16 ServiceName[],