11#ifndef __PACKET_DCERPC_SVCCTL_H
12#define __PACKET_DCERPC_SVCCTL_H
14#define MAX_SERVICE_NAME_LENGTH ( 256 )
16#define SC_MAX_DEPEND_SIZE ( 4*1024 )
18#define SC_MAX_NAME_LENGTH ( MAX_SERVICE_NAME_LENGTH+1 )
20#define SC_MAX_PATH_LENGTH ( 32*1024 )
22#define SC_MAX_PWD_SIZE ( 514 )
24#define SC_MAX_COMPUTER_NAME_LENGTH ( 1024 )
26#define SC_MAX_ACCOUNT_NAME_LENGTH ( 2*1024 )
28#define SC_MAX_COMMENT_LENGTH ( 128 )
30#define SC_MAX_ARGUMENT_LENGTH ( 1024 )
32#define SC_MAX_ARGUMENTS ( 1024 )
34#define SVCCTL_ACCEPT_NONE ( 0x00000000 )
36#define SC_MANAGER_READ_ACCESS ( (SEC_STD_READ_CONTROL|SC_RIGHT_MGR_CONNECT|SC_RIGHT_MGR_ENUMERATE_SERVICE|SC_RIGHT_MGR_QUERY_LOCK_STATUS) )
38#define SC_MANAGER_EXECUTE_ACCESS ( SC_MANAGER_READ_ACCESS )
40#define 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) )
42#define SC_MANAGER_ALL_ACCESS ( SC_MANAGER_WRITE_ACCESS )
44#define 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) )
46#define SERVICE_EXECUTE_ACCESS ( (SERVICE_READ_ACCESS|SC_RIGHT_SVC_START|SC_RIGHT_SVC_STOP|SC_RIGHT_SVC_PAUSE_CONTINUE) )
48#define SERVICE_WRITE_ACCESS ( (SEC_STD_REQUIRED|SERVICE_READ_ACCESS|SERVICE_EXECUTE_ACCESS|SC_RIGHT_SVC_CHANGE_CONFIG) )
50#define SERVICE_ALL_ACCESS ( SERVICE_WRITE_ACCESS )
52#define SC_MAX_ARGUMENT_LENGTH ( 1024 )
54#define SC_MAX_ARGUMENTS ( 1024 )
56int svcctl_dissect_bitmap_security_secinfo(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
57int svcctl_dissect_struct_SERVICE_LOCK_STATUS(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
58#define SVCCTL_STOPPED (0x00000001)
59#define SVCCTL_START_PENDING (0x00000002)
60#define SVCCTL_STOP_PENDING (0x00000003)
61#define SVCCTL_RUNNING (0x00000004)
62#define SVCCTL_CONTINUE_PENDING (0x00000005)
63#define SVCCTL_PAUSE_PENDING (0x00000006)
64#define SVCCTL_PAUSED (0x00000007)
65extern const value_string svcctl_svcctl_ServiceStatus_vals[];
66int svcctl_dissect_enum_ServiceStatus(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t *param _U_);
67#define SERVICE_TYPE_KERNEL_DRIVER (0x00000001)
68#define SERVICE_TYPE_FS_DRIVER (0x00000002)
69#define SERVICE_TYPE_ADAPTER (0x00000004)
70#define SERVICE_TYPE_RECOGNIZER_DRIVER (0x00000008)
71#define SERVICE_TYPE_DRIVER (SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER)
72#define SERVICE_TYPE_WIN32_OWN_PROCESS (0x00000010)
73#define SERVICE_TYPE_WIN32_SHARE_PROCESS (0x00000020)
74#define SERVICE_TYPE_USER_OWN_PROCESS (0x00000050)
75#define SERVICE_TYPE_USER_SHARE_PROCESS (0x00000060)
76#define SERVICE_TYPE_WIN32 (SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS)
77#define SERVICE_TYPE_INTERACTIVE_PROCESS (0x00000100)
78extern const value_string svcctl_svcctl_ServiceType_vals[];
80int svcctl_dissect_bitmap_ControlsAccepted(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
81int svcctl_dissect_struct_SERVICE_STATUS(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
82#define SERVICE_RUNS_IN_NONSYSTEM_ORNOTRUNNING (0x00000000)
83#define SERVICE_RUNS_IN_SYSTEM_PROCESS (0x00000001)
84extern const value_string svcctl_svcctl_ServiceFlags_vals[];
86int svcctl_dissect_struct_SERVICE_STATUS_PROCESS(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
87int svcctl_dissect_struct_ENUM_SERVICE_STATUSW(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
88int svcctl_dissect_struct_ENUM_SERVICE_STATUSA(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
89#define SVCCTL_CONTROL_STOP (0x00000001)
90#define SVCCTL_CONTROL_PAUSE (0x00000002)
91#define SVCCTL_CONTROL_CONTINUE (0x00000003)
92#define SVCCTL_CONTROL_INTERROGATE (0x00000004)
93#define SVCCTL_CONTROL_SHUTDOWN (0x00000005)
94#define SERVICE_CONTROL_PARAMCHANGE (0x00000006)
95#define SERVICE_CONTROL_NETBINDADD (0x00000007)
96#define SERVICE_CONTROL_NETBINDREMOVE (0x00000008)
97#define SERVICE_CONTROL_NETBINDENABLE (0x00000009)
98#define SERVICE_CONTROL_NETBINDDISABLE (0x0000000A)
100int svcctl_dissect_enum_SERVICE_CONTROL(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t *param _U_);
101#define SVCCTL_SVC_ERROR_IGNORE (0x00000000)
102#define SVCCTL_SVC_ERROR_NORMAL (0x00000001)
103#define SVCCTL_SVC_ERROR_CRITICAL (0x00000002)
104#define SVCCTL_SVC_ERROR_SEVERE (0x00000003)
105extern const value_string svcctl_svcctl_ErrorControl_vals[];
106int svcctl_dissect_enum_ErrorControl(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t *param _U_);
107#define SVCCTL_BOOT_START (0x00000000)
108#define SVCCTL_SYSTEM_START (0x00000001)
109#define SVCCTL_AUTO_START (0x00000002)
110#define SVCCTL_DEMAND_START (0x00000003)
111#define SVCCTL_DISABLED (0x00000004)
112extern const value_string svcctl_svcctl_StartType_vals[];
114#define SERVICE_STATE_ACTIVE (0x00000001)
115#define SERVICE_STATE_INACTIVE (0x00000002)
116#define SERVICE_STATE_ALL ((SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE))
117extern const value_string svcctl_svcctl_ServiceState_vals[];
118int svcctl_dissect_enum_ServiceState(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t *param _U_);
119int svcctl_dissect_bitmap_MgrAccessMask(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
120int svcctl_dissect_bitmap_ServiceAccessMask(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
121int svcctl_dissect_struct_QUERY_SERVICE_CONFIG(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
122int svcctl_dissect_struct_ArgumentString(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
123int svcctl_dissect_struct_ArgumentStringA(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, uint8_t *drep _U_,
int hf_index _U_, uint32_t param _U_);
124#define SERVICE_CONFIG_DESCRIPTION (0x00000001)
125#define SERVICE_CONFIG_FAILURE_ACTIONS (0x00000002)
126extern const value_string svcctl_svcctl_ConfigLevel_vals[];
128#define SVC_STATUS_PROCESS_INFO (0x00000000)
129extern const value_string svcctl_svcctl_StatusLevel_vals[];
Definition packet-dcerpc.h:154
Definition packet_info.h:43
Definition value_string.h:25
Definition tvbuff-int.h:35