1 #include "librpc/gen_ndr/ndr_svcctl.h"
4 NTSTATUS rpccli_svcctl_CloseServiceHandle(struct rpc_pipe_client *cli,
6 struct policy_handle *handle,
8 NTSTATUS rpccli_svcctl_ControlService(struct rpc_pipe_client *cli,
10 struct policy_handle *handle,
12 struct SERVICE_STATUS *service_status,
14 NTSTATUS rpccli_svcctl_DeleteService(struct rpc_pipe_client *cli,
16 struct policy_handle *handle,
18 NTSTATUS rpccli_svcctl_LockServiceDatabase(struct rpc_pipe_client *cli,
20 struct policy_handle *handle,
21 struct policy_handle *lock,
23 NTSTATUS rpccli_svcctl_QueryServiceObjectSecurity(struct rpc_pipe_client *cli,
25 struct policy_handle *handle,
26 uint32_t security_flags,
31 NTSTATUS rpccli_svcctl_SetServiceObjectSecurity(struct rpc_pipe_client *cli,
34 NTSTATUS rpccli_svcctl_QueryServiceStatus(struct rpc_pipe_client *cli,
36 struct policy_handle *handle,
37 struct SERVICE_STATUS *service_status,
39 NTSTATUS rpccli_svcctl_SetServiceStatus(struct rpc_pipe_client *cli,
42 NTSTATUS rpccli_svcctl_UnlockServiceDatabase(struct rpc_pipe_client *cli,
44 struct policy_handle *lock,
46 NTSTATUS rpccli_svcctl_NotifyBootConfigStatus(struct rpc_pipe_client *cli,
49 NTSTATUS rpccli_svcctl_SCSetServiceBitsW(struct rpc_pipe_client *cli,
51 struct policy_handle *handle,
56 NTSTATUS rpccli_svcctl_ChangeServiceConfigW(struct rpc_pipe_client *cli,
58 struct policy_handle *handle,
62 const char *binary_path,
63 const char *load_order_group,
65 const char *dependencies,
66 const char *service_start_name,
68 const char *display_name,
70 NTSTATUS rpccli_svcctl_CreateServiceW(struct rpc_pipe_client *cli,
72 struct policy_handle *scmanager_handle,
73 const char *ServiceName,
74 const char *DisplayName,
75 uint32_t desired_access,
78 uint32_t error_control,
79 const char *binary_path,
80 const char *LoadOrderGroupKey,
82 uint8_t *dependencies,
83 uint32_t dependencies_size,
84 const char *service_start_name,
86 uint32_t password_size,
87 struct policy_handle *handle,
89 NTSTATUS rpccli_svcctl_EnumDependentServicesW(struct rpc_pipe_client *cli,
91 struct policy_handle *service,
93 struct ENUM_SERVICE_STATUS *service_status,
95 uint32_t *bytes_needed,
96 uint32_t *services_returned,
98 NTSTATUS rpccli_svcctl_EnumServicesStatusW(struct rpc_pipe_client *cli,
100 struct policy_handle *handle,
105 uint32_t *bytes_needed,
106 uint32_t *services_returned,
107 uint32_t *resume_handle,
109 NTSTATUS rpccli_svcctl_OpenSCManagerW(struct rpc_pipe_client *cli,
111 const char *MachineName,
112 const char *DatabaseName,
113 uint32_t access_mask,
114 struct policy_handle *handle,
116 NTSTATUS rpccli_svcctl_OpenServiceW(struct rpc_pipe_client *cli,
118 struct policy_handle *scmanager_handle,
119 const char *ServiceName,
120 uint32_t access_mask,
121 struct policy_handle *handle,
123 NTSTATUS rpccli_svcctl_QueryServiceConfigW(struct rpc_pipe_client *cli,
125 struct policy_handle *handle,
128 uint32_t *bytes_needed,
130 NTSTATUS rpccli_svcctl_QueryServiceLockStatusW(struct rpc_pipe_client *cli,
132 struct policy_handle *handle,
134 struct SERVICE_LOCK_STATUS *lock_status,
135 uint32_t *required_buf_size,
137 NTSTATUS rpccli_svcctl_StartServiceW(struct rpc_pipe_client *cli,
139 struct policy_handle *handle,
141 const char *Arguments,
143 NTSTATUS rpccli_svcctl_GetServiceDisplayNameW(struct rpc_pipe_client *cli,
145 struct policy_handle *handle,
146 const char *service_name,
147 const char **display_name,
148 uint32_t *display_name_length,
150 NTSTATUS rpccli_svcctl_GetServiceKeyNameW(struct rpc_pipe_client *cli,
152 struct policy_handle *handle,
153 const char *service_name,
154 const char **key_name,
155 uint32_t *display_name_length,
157 NTSTATUS rpccli_svcctl_SCSetServiceBitsA(struct rpc_pipe_client *cli,
159 struct policy_handle *handle,
164 NTSTATUS rpccli_svcctl_ChangeServiceConfigA(struct rpc_pipe_client *cli,
166 struct policy_handle *handle,
170 const char *binary_path,
171 const char *load_order_group,
173 const char *dependencies,
174 const char *service_start_name,
175 const char *password,
176 const char *display_name,
178 NTSTATUS rpccli_svcctl_CreateServiceA(struct rpc_pipe_client *cli,
180 struct policy_handle *handle,
181 const char *ServiceName,
182 const char *DisplayName,
183 uint32_t desired_access,
186 uint32_t error_control,
187 const char *binary_path,
188 const char *LoadOrderGroupKey,
190 const char *dependencies,
191 const char *service_start_name,
192 const char *password,
194 NTSTATUS rpccli_svcctl_EnumDependentServicesA(struct rpc_pipe_client *cli,
196 struct policy_handle *service,
198 struct ENUM_SERVICE_STATUS *service_status,
200 uint32_t *bytes_needed,
201 uint32_t *services_returned,
203 NTSTATUS rpccli_svcctl_EnumServicesStatusA(struct rpc_pipe_client *cli,
205 struct policy_handle *handle,
210 uint32_t *bytes_needed,
211 uint32_t *services_returned,
212 uint32_t *resume_handle,
214 NTSTATUS rpccli_svcctl_OpenSCManagerA(struct rpc_pipe_client *cli,
216 const char *MachineName,
217 const char *DatabaseName,
218 uint32_t access_mask,
219 struct policy_handle *handle,
221 NTSTATUS rpccli_svcctl_OpenServiceA(struct rpc_pipe_client *cli,
223 struct policy_handle *scmanager_handle,
224 const char *ServiceName,
225 uint32_t access_mask,
227 NTSTATUS rpccli_svcctl_QueryServiceConfigA(struct rpc_pipe_client *cli,
229 struct policy_handle *handle,
232 uint32_t *bytes_needed,
234 NTSTATUS rpccli_svcctl_QueryServiceLockStatusA(struct rpc_pipe_client *cli,
236 struct policy_handle *handle,
238 struct SERVICE_LOCK_STATUS *lock_status,
239 uint32_t *required_buf_size,
241 NTSTATUS rpccli_svcctl_StartServiceA(struct rpc_pipe_client *cli,
243 struct policy_handle *handle,
245 const char *Arguments,
247 NTSTATUS rpccli_svcctl_GetServiceDisplayNameA(struct rpc_pipe_client *cli,
249 struct policy_handle *handle,
250 const char *service_name,
251 const char **display_name,
252 uint32_t *display_name_length,
254 NTSTATUS rpccli_svcctl_GetServiceKeyNameA(struct rpc_pipe_client *cli,
256 struct policy_handle *handle,
257 const char *service_name,
258 const char **key_name,
259 uint32_t *display_name_length,
261 NTSTATUS rpccli_svcctl_GetCurrentGroupeStateW(struct rpc_pipe_client *cli,
264 NTSTATUS rpccli_svcctl_EnumServiceGroupW(struct rpc_pipe_client *cli,
267 NTSTATUS rpccli_svcctl_ChangeServiceConfig2A(struct rpc_pipe_client *cli,
269 struct policy_handle *handle,
273 NTSTATUS rpccli_svcctl_ChangeServiceConfig2W(struct rpc_pipe_client *cli,
275 struct policy_handle *handle,
279 NTSTATUS rpccli_svcctl_QueryServiceConfig2A(struct rpc_pipe_client *cli,
281 struct policy_handle *handle,
285 uint32_t *bytes_needed,
287 NTSTATUS rpccli_svcctl_QueryServiceConfig2W(struct rpc_pipe_client *cli,
289 struct policy_handle *handle,
293 uint32_t *bytes_needed,
295 NTSTATUS rpccli_svcctl_QueryServiceStatusEx(struct rpc_pipe_client *cli,
297 struct policy_handle *handle,
301 uint32_t *bytes_needed,
303 NTSTATUS rpccli_EnumServicesStatusExA(struct rpc_pipe_client *cli,
305 struct policy_handle *scmanager,
311 uint32_t *bytes_needed,
312 uint32_t *service_returned,
313 uint32_t *resume_handle,
314 const char **group_name,
316 NTSTATUS rpccli_EnumServicesStatusExW(struct rpc_pipe_client *cli,
318 struct policy_handle *scmanager,
324 uint32_t *bytes_needed,
325 uint32_t *service_returned,
326 uint32_t *resume_handle,
327 const char **group_name,
329 NTSTATUS rpccli_svcctl_SCSendTSMessage(struct rpc_pipe_client *cli,
332 #endif /* __CLI_SVCCTL__ */