summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/svcctl.idl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/idl/svcctl.idl')
-rw-r--r--source4/librpc/idl/svcctl.idl27
1 files changed, 24 insertions, 3 deletions
diff --git a/source4/librpc/idl/svcctl.idl b/source4/librpc/idl/svcctl.idl
index 615f4e3dab..961493d9b2 100644
--- a/source4/librpc/idl/svcctl.idl
+++ b/source4/librpc/idl/svcctl.idl
@@ -115,12 +115,21 @@ import "misc.idl";
/*****************/
/* Function 0x04 */
- [todo] WERROR svcctl_QueryServiceObjectSecurity(
+ WERROR svcctl_QueryServiceObjectSecurity(
+ [in] policy_handle *handle,
+ [in] uint32 security_flags,
+ [out,ref,size_is(buffer_size)] uint8 *buffer,
+ [in,range(0,0x40000)] uint32 buffer_size,
+ [out,ref,range(0,0x40000)] uint32 *needed
);
/*****************/
/* Function 0x05 */
- [todo] WERROR svcctl_SetServiceObjectSecurity(
+ WERROR svcctl_SetServiceObjectSecurity(
+ [in] policy_handle *handle,
+ [in] uint32 security_flags,
+ [in,ref,size_is(buffer_size)] uint8 *buffer,
+ [in] uint32 buffer_size
);
/*****************/
@@ -227,10 +236,22 @@ import "misc.idl";
/*****************/
/* Function 0x10 */
+ typedef [bitmap32bit] bitmap {
+ SC_RIGHT_SVC_QUERY_CONFIG = 0x0001,
+ SC_RIGHT_SVC_CHANGE_CONFIG = 0x0002,
+ SC_RIGHT_SVC_QUERY_STATUS = 0x0004,
+ SC_RIGHT_SVC_ENUMERATE_DEPENDENTS = 0x0008,
+ SC_RIGHT_SVC_START = 0x0010,
+ SC_RIGHT_SVC_STOP = 0x0020,
+ SC_RIGHT_SVC_PAUSE_CONTINUE = 0x0040,
+ SC_RIGHT_SVC_INTERROGATE = 0x0080,
+ SC_RIGHT_SVC_USER_DEFINED_CONTROL = 0x0100
+ } svcctl_ServiceAccessMask;
+
WERROR svcctl_OpenServiceW(
[in,ref] policy_handle *scmanager_handle,
[in] [string,charset(UTF16)] uint16 ServiceName[],
- [in] uint32 access_mask,
+ [in] svcctl_ServiceAccessMask access_mask,
[out,ref] policy_handle *handle
);