diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-10-23 18:50:34 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-10-23 18:50:34 +0200 |
commit | c17898db4e2e1ac342ce9dfb0991d58dbd6ea4af (patch) | |
tree | d3bc06f9a617091b0300af4e1f85527391a1d1d9 /librpc | |
parent | 81fabeff2dc51c043da19cd095175c4951f527b6 (diff) | |
parent | f36ffa768129f01b0c12d30bff5e4e205dd3676c (diff) | |
download | samba-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.idl | 47 |
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[], |