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 )
56 int svcctl_dissect_bitmap_security_secinfo(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
57 int 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_, guint8 *drep _U_,
int hf_index _U_, guint32 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)
65 extern const value_string svcctl_svcctl_ServiceStatus_vals[];
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)
78 extern const value_string svcctl_svcctl_ServiceType_vals[];
80 int svcctl_dissect_bitmap_ControlsAccepted(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
81 int 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_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
82 #define SERVICE_RUNS_IN_NONSYSTEM_ORNOTRUNNING (0x00000000)
83 #define SERVICE_RUNS_IN_SYSTEM_PROCESS (0x00000001)
84 extern const value_string svcctl_svcctl_ServiceFlags_vals[];
86 int 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_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
87 int 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_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
88 int 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_, guint8 *drep _U_,
int hf_index _U_, guint32 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)
100 int svcctl_dissect_enum_SERVICE_CONTROL(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, guint8 *drep _U_,
int hf_index _U_, guint32 *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)
105 extern const value_string svcctl_svcctl_ErrorControl_vals[];
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)
112 extern 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))
117 extern const value_string svcctl_svcctl_ServiceState_vals[];
119 int svcctl_dissect_bitmap_MgrAccessMask(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
120 int svcctl_dissect_bitmap_ServiceAccessMask(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *tree _U_,
dcerpc_info* di _U_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
121 int 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_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
122 int svcctl_dissect_struct_ArgumentString(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
123 int svcctl_dissect_struct_ArgumentStringA(
tvbuff_t *tvb _U_,
int offset _U_,
packet_info *pinfo _U_,
proto_tree *parent_tree _U_,
dcerpc_info* di _U_, guint8 *drep _U_,
int hf_index _U_, guint32 param _U_);
124 #define SERVICE_CONFIG_DESCRIPTION (0x00000001)
125 #define SERVICE_CONFIG_FAILURE_ACTIONS (0x00000002)
126 extern const value_string svcctl_svcctl_ConfigLevel_vals[];
128 #define SVC_STATUS_PROCESS_INFO (0x00000000)
129 extern const value_string svcctl_svcctl_StatusLevel_vals[];
Definition: packet-dcerpc.h:154
Definition: packet_info.h:44
Definition: value_string.h:26
Definition: tvbuff-int.h:35