aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcerpc-svcctl.h
blob: ccbe9d1ac4b97445e17fb0ce2f685f21880d6b09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/* DO NOT EDIT
	This file was automatically generated by Pidl
	from svcctl.idl and svcctl.cnf.

	Pidl is a perl based IDL compiler for DCE/RPC idl files.
	It is maintained by the Samba team, not the Wireshark team.
	Instructions on how to download and install Pidl can be
	found at https://gitlab.com/wireshark/wireshark/-/wikis/Pidl
*/

#ifndef __PACKET_DCERPC_SVCCTL_H
#define __PACKET_DCERPC_SVCCTL_H

#define MAX_SERVICE_NAME_LENGTH	( 256 )

#define SC_MAX_DEPEND_SIZE	( 4*1024 )

#define SC_MAX_NAME_LENGTH	( MAX_SERVICE_NAME_LENGTH+1 )

#define SC_MAX_PATH_LENGTH	( 32*1024 )

#define SC_MAX_PWD_SIZE	( 514 )

#define SC_MAX_COMPUTER_NAME_LENGTH	( 1024 )

#define SC_MAX_ACCOUNT_NAME_LENGTH	( 2*1024 )

#define SC_MAX_COMMENT_LENGTH	( 128 )

#define SC_MAX_ARGUMENT_LENGTH	( 1024 )

#define SC_MAX_ARGUMENTS	( 1024 )

#define SVCCTL_ACCEPT_NONE	( 0x00000000 )

#define SC_MANAGER_READ_ACCESS	( (SEC_STD_READ_CONTROL|SC_RIGHT_MGR_CONNECT|SC_RIGHT_MGR_ENUMERATE_SERVICE|SC_RIGHT_MGR_QUERY_LOCK_STATUS) )

#define SC_MANAGER_EXECUTE_ACCESS	( SC_MANAGER_READ_ACCESS )

#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) )

#define SC_MANAGER_ALL_ACCESS	( SC_MANAGER_WRITE_ACCESS )

#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) )

#define SERVICE_EXECUTE_ACCESS	( (SERVICE_READ_ACCESS|SC_RIGHT_SVC_START|SC_RIGHT_SVC_STOP|SC_RIGHT_SVC_PAUSE_CONTINUE) )

#define SERVICE_WRITE_ACCESS	( (SEC_STD_REQUIRED|SERVICE_READ_ACCESS|SERVICE_EXECUTE_ACCESS|SC_RIGHT_SVC_CHANGE_CONFIG) )

#define SERVICE_ALL_ACCESS	( SERVICE_WRITE_ACCESS )

#define SC_MAX_ARGUMENT_LENGTH	( 1024 )

#define SC_MAX_ARGUMENTS	( 1024 )

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_);
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_);
#define SVCCTL_STOPPED (0x00000001)
#define SVCCTL_START_PENDING (0x00000002)
#define SVCCTL_STOP_PENDING (0x00000003)
#define SVCCTL_RUNNING (0x00000004)
#define SVCCTL_CONTINUE_PENDING (0x00000005)
#define SVCCTL_PAUSE_PENDING (0x00000006)
#define SVCCTL_PAUSED (0x00000007)
extern const value_string svcctl_svcctl_ServiceStatus_vals[];
int svcctl_dissect_enum_ServiceStatus(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_);
#define SERVICE_TYPE_KERNEL_DRIVER (0x00000001)
#define SERVICE_TYPE_FS_DRIVER (0x00000002)
#define SERVICE_TYPE_ADAPTER (0x00000004)
#define SERVICE_TYPE_RECOGNIZER_DRIVER (0x00000008)
#define SERVICE_TYPE_DRIVER (SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER)
#define SERVICE_TYPE_WIN32_OWN_PROCESS (0x00000010)
#define SERVICE_TYPE_WIN32_SHARE_PROCESS (0x00000020)
#define SERVICE_TYPE_USER_OWN_PROCESS (0x00000050)
#define SERVICE_TYPE_USER_SHARE_PROCESS (0x00000060)
#define SERVICE_TYPE_WIN32 (SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS)
#define SERVICE_TYPE_INTERACTIVE_PROCESS (0x00000100)
extern const value_string svcctl_svcctl_ServiceType_vals[];
int svcctl_dissect_enum_ServiceType(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_);
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_);
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_);
#define SERVICE_RUNS_IN_NONSYSTEM_ORNOTRUNNING (0x00000000)
#define SERVICE_RUNS_IN_SYSTEM_PROCESS (0x00000001)
extern const value_string svcctl_svcctl_ServiceFlags_vals[];
int svcctl_dissect_enum_ServiceFlags(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_);
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_);
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_);
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_);
#define SVCCTL_CONTROL_STOP (0x00000001)
#define SVCCTL_CONTROL_PAUSE (0x00000002)
#define SVCCTL_CONTROL_CONTINUE (0x00000003)
#define SVCCTL_CONTROL_INTERROGATE (0x00000004)
#define SVCCTL_CONTROL_SHUTDOWN (0x00000005)
#define SERVICE_CONTROL_PARAMCHANGE (0x00000006)
#define SERVICE_CONTROL_NETBINDADD (0x00000007)
#define SERVICE_CONTROL_NETBINDREMOVE (0x00000008)
#define SERVICE_CONTROL_NETBINDENABLE (0x00000009)
#define SERVICE_CONTROL_NETBINDDISABLE (0x0000000A)
extern const value_string svcctl_SERVICE_CONTROL_vals[];
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_);
#define SVCCTL_SVC_ERROR_IGNORE (0x00000000)
#define SVCCTL_SVC_ERROR_NORMAL (0x00000001)
#define SVCCTL_SVC_ERROR_CRITICAL (0x00000002)
#define SVCCTL_SVC_ERROR_SEVERE (0x00000003)
extern const value_string svcctl_svcctl_ErrorControl_vals[];
int svcctl_dissect_enum_ErrorControl(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_);
#define SVCCTL_BOOT_START (0x00000000)
#define SVCCTL_SYSTEM_START (0x00000001)
#define SVCCTL_AUTO_START (0x00000002)
#define SVCCTL_DEMAND_START (0x00000003)
#define SVCCTL_DISABLED (0x00000004)
extern const value_string svcctl_svcctl_StartType_vals[];
int svcctl_dissect_enum_StartType(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_);
#define SERVICE_STATE_ACTIVE (0x00000001)
#define SERVICE_STATE_INACTIVE (0x00000002)
#define SERVICE_STATE_ALL ((SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE))
extern const value_string svcctl_svcctl_ServiceState_vals[];
int svcctl_dissect_enum_ServiceState(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_);
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_);
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_);
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_);
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_);
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_);
#define SERVICE_CONFIG_DESCRIPTION (0x00000001)
#define SERVICE_CONFIG_FAILURE_ACTIONS (0x00000002)
extern const value_string svcctl_svcctl_ConfigLevel_vals[];
int svcctl_dissect_enum_ConfigLevel(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_);
#define SVC_STATUS_PROCESS_INFO (0x00000000)
extern const value_string svcctl_svcctl_StatusLevel_vals[];
int svcctl_dissect_enum_StatusLevel(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_);
#endif /* __PACKET_DCERPC_SVCCTL_H */