586e3fd5b9a39312a2dbd6bba66a9aa2a48dfe5a
[ira/wip.git] / librpc / gen_ndr / cli_svcctl.h
1 #include "../librpc/gen_ndr/ndr_svcctl.h"
2 #ifndef __CLI_SVCCTL__
3 #define __CLI_SVCCTL__
4 NTSTATUS rpccli_svcctl_CloseServiceHandle(struct rpc_pipe_client *cli,
5                                           TALLOC_CTX *mem_ctx,
6                                           struct policy_handle *handle /* [in,out] [ref] */,
7                                           WERROR *werror);
8 NTSTATUS rpccli_svcctl_ControlService(struct rpc_pipe_client *cli,
9                                       TALLOC_CTX *mem_ctx,
10                                       struct policy_handle *handle /* [in] [ref] */,
11                                       enum SERVICE_CONTROL control /* [in]  */,
12                                       struct SERVICE_STATUS *service_status /* [out] [ref] */,
13                                       WERROR *werror);
14 NTSTATUS rpccli_svcctl_DeleteService(struct rpc_pipe_client *cli,
15                                      TALLOC_CTX *mem_ctx,
16                                      struct policy_handle *handle /* [in] [ref] */,
17                                      WERROR *werror);
18 NTSTATUS rpccli_svcctl_LockServiceDatabase(struct rpc_pipe_client *cli,
19                                            TALLOC_CTX *mem_ctx,
20                                            struct policy_handle *handle /* [in] [ref] */,
21                                            struct policy_handle *lock /* [out] [ref] */,
22                                            WERROR *werror);
23 NTSTATUS rpccli_svcctl_QueryServiceObjectSecurity(struct rpc_pipe_client *cli,
24                                                   TALLOC_CTX *mem_ctx,
25                                                   struct policy_handle *handle /* [in] [ref] */,
26                                                   uint32_t security_flags /* [in]  */,
27                                                   uint8_t *buffer /* [out] [ref,size_is(buffer_size)] */,
28                                                   uint32_t buffer_size /* [in] [range(0,0x40000)] */,
29                                                   uint32_t *needed /* [out] [ref,range(0,0x40000)] */,
30                                                   WERROR *werror);
31 NTSTATUS rpccli_svcctl_SetServiceObjectSecurity(struct rpc_pipe_client *cli,
32                                                 TALLOC_CTX *mem_ctx,
33                                                 struct policy_handle *handle /* [in] [ref] */,
34                                                 uint32_t security_flags /* [in]  */,
35                                                 uint8_t *buffer /* [in] [ref,size_is(buffer_size)] */,
36                                                 uint32_t buffer_size /* [in]  */,
37                                                 WERROR *werror);
38 NTSTATUS rpccli_svcctl_QueryServiceStatus(struct rpc_pipe_client *cli,
39                                           TALLOC_CTX *mem_ctx,
40                                           struct policy_handle *handle /* [in] [ref] */,
41                                           struct SERVICE_STATUS *service_status /* [out] [ref] */,
42                                           WERROR *werror);
43 NTSTATUS rpccli_svcctl_SetServiceStatus(struct rpc_pipe_client *cli,
44                                         TALLOC_CTX *mem_ctx,
45                                         WERROR *werror);
46 NTSTATUS rpccli_svcctl_UnlockServiceDatabase(struct rpc_pipe_client *cli,
47                                              TALLOC_CTX *mem_ctx,
48                                              struct policy_handle *lock /* [in,out] [ref] */,
49                                              WERROR *werror);
50 NTSTATUS rpccli_svcctl_NotifyBootConfigStatus(struct rpc_pipe_client *cli,
51                                               TALLOC_CTX *mem_ctx,
52                                               WERROR *werror);
53 NTSTATUS rpccli_svcctl_SCSetServiceBitsW(struct rpc_pipe_client *cli,
54                                          TALLOC_CTX *mem_ctx,
55                                          struct policy_handle *handle /* [in] [ref] */,
56                                          uint32_t bits /* [in]  */,
57                                          uint32_t bitson /* [in]  */,
58                                          uint32_t immediate /* [in]  */,
59                                          WERROR *werror);
60 NTSTATUS rpccli_svcctl_ChangeServiceConfigW(struct rpc_pipe_client *cli,
61                                             TALLOC_CTX *mem_ctx,
62                                             struct policy_handle *handle /* [in] [ref] */,
63                                             uint32_t type /* [in]  */,
64                                             enum svcctl_StartType start_type /* [in]  */,
65                                             enum svcctl_ErrorControl error_control /* [in]  */,
66                                             const char *binary_path /* [in] [unique,charset(UTF16)] */,
67                                             const char *load_order_group /* [in] [unique,charset(UTF16)] */,
68                                             uint32_t *tag_id /* [out] [ref] */,
69                                             const char *dependencies /* [in] [unique,charset(UTF16)] */,
70                                             const char *service_start_name /* [in] [unique,charset(UTF16)] */,
71                                             const char *password /* [in] [unique,charset(UTF16)] */,
72                                             const char *display_name /* [in] [unique,charset(UTF16)] */,
73                                             WERROR *werror);
74 NTSTATUS rpccli_svcctl_CreateServiceW(struct rpc_pipe_client *cli,
75                                       TALLOC_CTX *mem_ctx,
76                                       struct policy_handle *scmanager_handle /* [in] [ref] */,
77                                       const char *ServiceName /* [in] [charset(UTF16)] */,
78                                       const char *DisplayName /* [in] [unique,charset(UTF16)] */,
79                                       uint32_t desired_access /* [in]  */,
80                                       uint32_t type /* [in]  */,
81                                       enum svcctl_StartType start_type /* [in]  */,
82                                       enum svcctl_ErrorControl error_control /* [in]  */,
83                                       const char *binary_path /* [in] [charset(UTF16)] */,
84                                       const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */,
85                                       uint32_t *TagId /* [in,out] [unique] */,
86                                       uint8_t *dependencies /* [in] [unique,size_is(dependencies_size)] */,
87                                       uint32_t dependencies_size /* [in]  */,
88                                       const char *service_start_name /* [in] [unique,charset(UTF16)] */,
89                                       uint8_t *password /* [in] [unique,size_is(password_size)] */,
90                                       uint32_t password_size /* [in]  */,
91                                       struct policy_handle *handle /* [out] [ref] */,
92                                       WERROR *werror);
93 NTSTATUS rpccli_svcctl_EnumDependentServicesW(struct rpc_pipe_client *cli,
94                                               TALLOC_CTX *mem_ctx,
95                                               struct policy_handle *service /* [in] [ref] */,
96                                               uint32_t state /* [in]  */,
97                                               uint8_t *service_status /* [out] [ref,size_is(buf_size)] */,
98                                               uint32_t buf_size /* [in] [range(0,0x40000)] */,
99                                               uint32_t *bytes_needed /* [out] [ref,range(0,0x40000)] */,
100                                               uint32_t *services_returned /* [out] [ref,range(0,0x40000)] */,
101                                               WERROR *werror);
102 NTSTATUS rpccli_svcctl_EnumServicesStatusW(struct rpc_pipe_client *cli,
103                                            TALLOC_CTX *mem_ctx,
104                                            struct policy_handle *handle /* [in] [ref] */,
105                                            uint32_t type /* [in]  */,
106                                            enum svcctl_ServiceState state /* [in]  */,
107                                            uint8_t *service /* [out] [ref,size_is(buf_size)] */,
108                                            uint32_t buf_size /* [in] [range(0,0x40000)] */,
109                                            uint32_t *bytes_needed /* [out] [ref,range(0,0x40000)] */,
110                                            uint32_t *services_returned /* [out] [ref,range(0,0x40000)] */,
111                                            uint32_t *resume_handle /* [in,out] [unique] */,
112                                            WERROR *werror);
113 NTSTATUS rpccli_svcctl_OpenSCManagerW(struct rpc_pipe_client *cli,
114                                       TALLOC_CTX *mem_ctx,
115                                       const char *MachineName /* [in] [unique,charset(UTF16)] */,
116                                       const char *DatabaseName /* [in] [unique,charset(UTF16)] */,
117                                       uint32_t access_mask /* [in]  */,
118                                       struct policy_handle *handle /* [out] [ref] */,
119                                       WERROR *werror);
120 NTSTATUS rpccli_svcctl_OpenServiceW(struct rpc_pipe_client *cli,
121                                     TALLOC_CTX *mem_ctx,
122                                     struct policy_handle *scmanager_handle /* [in] [ref] */,
123                                     const char *ServiceName /* [in] [charset(UTF16)] */,
124                                     uint32_t access_mask /* [in]  */,
125                                     struct policy_handle *handle /* [out] [ref] */,
126                                     WERROR *werror);
127 NTSTATUS rpccli_svcctl_QueryServiceConfigW(struct rpc_pipe_client *cli,
128                                            TALLOC_CTX *mem_ctx,
129                                            struct policy_handle *handle /* [in] [ref] */,
130                                            struct QUERY_SERVICE_CONFIG *query /* [out] [ref] */,
131                                            uint32_t buf_size /* [in] [range(0,8192)] */,
132                                            uint32_t *bytes_needed /* [out] [ref,range(0,8192)] */,
133                                            WERROR *werror);
134 NTSTATUS rpccli_svcctl_QueryServiceLockStatusW(struct rpc_pipe_client *cli,
135                                                TALLOC_CTX *mem_ctx,
136                                                struct policy_handle *handle /* [in] [ref] */,
137                                                uint32_t buf_size /* [in]  */,
138                                                struct SERVICE_LOCK_STATUS *lock_status /* [out] [ref] */,
139                                                uint32_t *required_buf_size /* [out] [ref] */,
140                                                WERROR *werror);
141 NTSTATUS rpccli_svcctl_StartServiceW(struct rpc_pipe_client *cli,
142                                      TALLOC_CTX *mem_ctx,
143                                      struct policy_handle *handle /* [in] [ref] */,
144                                      uint32_t NumArgs /* [in]  */,
145                                      const char *Arguments /* [in] [unique,charset(UTF16)] */,
146                                      WERROR *werror);
147 NTSTATUS rpccli_svcctl_GetServiceDisplayNameW(struct rpc_pipe_client *cli,
148                                               TALLOC_CTX *mem_ctx,
149                                               struct policy_handle *handle /* [in] [ref] */,
150                                               const char *service_name /* [in] [unique,charset(UTF16)] */,
151                                               const char **display_name /* [out] [ref,charset(UTF16)] */,
152                                               uint32_t *display_name_length /* [in,out] [unique] */,
153                                               WERROR *werror);
154 NTSTATUS rpccli_svcctl_GetServiceKeyNameW(struct rpc_pipe_client *cli,
155                                           TALLOC_CTX *mem_ctx,
156                                           struct policy_handle *handle /* [in] [ref] */,
157                                           const char *service_name /* [in] [unique,charset(UTF16)] */,
158                                           const char **key_name /* [out] [ref,charset(UTF16)] */,
159                                           uint32_t *display_name_length /* [in,out] [unique] */,
160                                           WERROR *werror);
161 NTSTATUS rpccli_svcctl_SCSetServiceBitsA(struct rpc_pipe_client *cli,
162                                          TALLOC_CTX *mem_ctx,
163                                          struct policy_handle *handle /* [in] [ref] */,
164                                          uint32_t bits /* [in]  */,
165                                          uint32_t bitson /* [in]  */,
166                                          uint32_t immediate /* [in]  */,
167                                          WERROR *werror);
168 NTSTATUS rpccli_svcctl_ChangeServiceConfigA(struct rpc_pipe_client *cli,
169                                             TALLOC_CTX *mem_ctx,
170                                             struct policy_handle *handle /* [in] [ref] */,
171                                             uint32_t type /* [in]  */,
172                                             enum svcctl_StartType start_type /* [in]  */,
173                                             enum svcctl_ErrorControl error_control /* [in]  */,
174                                             const char *binary_path /* [in] [unique,charset(UTF16)] */,
175                                             const char *load_order_group /* [in] [unique,charset(UTF16)] */,
176                                             uint32_t *tag_id /* [out] [ref] */,
177                                             const char *dependencies /* [in] [unique,charset(UTF16)] */,
178                                             const char *service_start_name /* [in] [unique,charset(UTF16)] */,
179                                             const char *password /* [in] [unique,charset(UTF16)] */,
180                                             const char *display_name /* [in] [unique,charset(UTF16)] */,
181                                             WERROR *werror);
182 NTSTATUS rpccli_svcctl_CreateServiceA(struct rpc_pipe_client *cli,
183                                       TALLOC_CTX *mem_ctx,
184                                       struct policy_handle *handle /* [in] [ref] */,
185                                       const char *ServiceName /* [in] [unique,charset(UTF16)] */,
186                                       const char *DisplayName /* [in] [unique,charset(UTF16)] */,
187                                       uint32_t desired_access /* [in]  */,
188                                       uint32_t type /* [in]  */,
189                                       enum svcctl_StartType start_type /* [in]  */,
190                                       enum svcctl_ErrorControl error_control /* [in]  */,
191                                       const char *binary_path /* [in] [unique,charset(UTF16)] */,
192                                       const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */,
193                                       uint32_t *TagId /* [out] [unique] */,
194                                       const char *dependencies /* [in] [unique,charset(UTF16)] */,
195                                       const char *service_start_name /* [in] [unique,charset(UTF16)] */,
196                                       const char *password /* [in] [unique,charset(UTF16)] */,
197                                       WERROR *werror);
198 NTSTATUS rpccli_svcctl_EnumDependentServicesA(struct rpc_pipe_client *cli,
199                                               TALLOC_CTX *mem_ctx,
200                                               struct policy_handle *service /* [in] [ref] */,
201                                               uint32_t state /* [in]  */,
202                                               struct ENUM_SERVICE_STATUSA *service_status /* [out] [unique] */,
203                                               uint32_t buf_size /* [in]  */,
204                                               uint32_t *bytes_needed /* [out] [ref] */,
205                                               uint32_t *services_returned /* [out] [ref] */,
206                                               WERROR *werror);
207 NTSTATUS rpccli_svcctl_EnumServicesStatusA(struct rpc_pipe_client *cli,
208                                            TALLOC_CTX *mem_ctx,
209                                            struct policy_handle *handle /* [in] [ref] */,
210                                            uint32_t type /* [in]  */,
211                                            enum svcctl_ServiceState state /* [in]  */,
212                                            uint32_t buf_size /* [in]  */,
213                                            uint8_t *service /* [out] [size_is(buf_size)] */,
214                                            uint32_t *bytes_needed /* [out] [ref] */,
215                                            uint32_t *services_returned /* [out] [ref] */,
216                                            uint32_t *resume_handle /* [in,out] [unique] */,
217                                            WERROR *werror);
218 NTSTATUS rpccli_svcctl_OpenSCManagerA(struct rpc_pipe_client *cli,
219                                       TALLOC_CTX *mem_ctx,
220                                       const char *MachineName /* [in] [unique,charset(UTF16)] */,
221                                       const char *DatabaseName /* [in] [unique,charset(UTF16)] */,
222                                       uint32_t access_mask /* [in]  */,
223                                       struct policy_handle *handle /* [out] [ref] */,
224                                       WERROR *werror);
225 NTSTATUS rpccli_svcctl_OpenServiceA(struct rpc_pipe_client *cli,
226                                     TALLOC_CTX *mem_ctx,
227                                     struct policy_handle *scmanager_handle /* [in] [ref] */,
228                                     const char *ServiceName /* [in] [unique,charset(UTF16)] */,
229                                     uint32_t access_mask /* [in]  */,
230                                     WERROR *werror);
231 NTSTATUS rpccli_svcctl_QueryServiceConfigA(struct rpc_pipe_client *cli,
232                                            TALLOC_CTX *mem_ctx,
233                                            struct policy_handle *handle /* [in] [ref] */,
234                                            uint8_t *query /* [out]  */,
235                                            uint32_t buf_size /* [in]  */,
236                                            uint32_t *bytes_needed /* [out] [ref] */,
237                                            WERROR *werror);
238 NTSTATUS rpccli_svcctl_QueryServiceLockStatusA(struct rpc_pipe_client *cli,
239                                                TALLOC_CTX *mem_ctx,
240                                                struct policy_handle *handle /* [in] [ref] */,
241                                                uint32_t buf_size /* [in]  */,
242                                                struct SERVICE_LOCK_STATUS *lock_status /* [out] [ref] */,
243                                                uint32_t *required_buf_size /* [out] [ref] */,
244                                                WERROR *werror);
245 NTSTATUS rpccli_svcctl_StartServiceA(struct rpc_pipe_client *cli,
246                                      TALLOC_CTX *mem_ctx,
247                                      struct policy_handle *handle /* [in] [ref] */,
248                                      uint32_t NumArgs /* [in]  */,
249                                      const char *Arguments /* [in] [unique,charset(UTF16)] */,
250                                      WERROR *werror);
251 NTSTATUS rpccli_svcctl_GetServiceDisplayNameA(struct rpc_pipe_client *cli,
252                                               TALLOC_CTX *mem_ctx,
253                                               struct policy_handle *handle /* [in] [ref] */,
254                                               const char *service_name /* [in] [unique,charset(UTF16)] */,
255                                               const char **display_name /* [out] [ref,charset(UTF16)] */,
256                                               uint32_t *display_name_length /* [in,out] [unique] */,
257                                               WERROR *werror);
258 NTSTATUS rpccli_svcctl_GetServiceKeyNameA(struct rpc_pipe_client *cli,
259                                           TALLOC_CTX *mem_ctx,
260                                           struct policy_handle *handle /* [in] [ref] */,
261                                           const char *service_name /* [in] [unique,charset(UTF16)] */,
262                                           const char **key_name /* [out] [ref,charset(UTF16)] */,
263                                           uint32_t *display_name_length /* [in,out] [unique] */,
264                                           WERROR *werror);
265 NTSTATUS rpccli_svcctl_GetCurrentGroupeStateW(struct rpc_pipe_client *cli,
266                                               TALLOC_CTX *mem_ctx,
267                                               WERROR *werror);
268 NTSTATUS rpccli_svcctl_EnumServiceGroupW(struct rpc_pipe_client *cli,
269                                          TALLOC_CTX *mem_ctx,
270                                          WERROR *werror);
271 NTSTATUS rpccli_svcctl_ChangeServiceConfig2A(struct rpc_pipe_client *cli,
272                                              TALLOC_CTX *mem_ctx,
273                                              struct policy_handle *handle /* [in] [ref] */,
274                                              uint32_t info_level /* [in]  */,
275                                              uint8_t *info /* [in] [unique] */,
276                                              WERROR *werror);
277 NTSTATUS rpccli_svcctl_ChangeServiceConfig2W(struct rpc_pipe_client *cli,
278                                              TALLOC_CTX *mem_ctx,
279                                              struct policy_handle *handle /* [in] [ref] */,
280                                              uint32_t info_level /* [in]  */,
281                                              uint8_t *info /* [in] [unique] */,
282                                              WERROR *werror);
283 NTSTATUS rpccli_svcctl_QueryServiceConfig2A(struct rpc_pipe_client *cli,
284                                             TALLOC_CTX *mem_ctx,
285                                             struct policy_handle *handle /* [in] [ref] */,
286                                             enum svcctl_ConfigLevel info_level /* [in]  */,
287                                             uint8_t *buffer /* [out]  */,
288                                             uint32_t buf_size /* [in]  */,
289                                             uint32_t *bytes_needed /* [out] [ref] */,
290                                             WERROR *werror);
291 NTSTATUS rpccli_svcctl_QueryServiceConfig2W(struct rpc_pipe_client *cli,
292                                             TALLOC_CTX *mem_ctx,
293                                             struct policy_handle *handle /* [in] [ref] */,
294                                             enum svcctl_ConfigLevel info_level /* [in]  */,
295                                             uint8_t *buffer /* [out] [ref,size_is(buf_size)] */,
296                                             uint32_t buf_size /* [in] [range(0,8192)] */,
297                                             uint32_t *bytes_needed /* [out] [ref,range(0,8192)] */,
298                                             WERROR *werror);
299 NTSTATUS rpccli_svcctl_QueryServiceStatusEx(struct rpc_pipe_client *cli,
300                                             TALLOC_CTX *mem_ctx,
301                                             struct policy_handle *handle /* [in] [ref] */,
302                                             enum svcctl_StatusLevel info_level /* [in]  */,
303                                             uint8_t *buffer /* [out] [ref,size_is(buf_size)] */,
304                                             uint32_t buf_size /* [in] [range(0,8192)] */,
305                                             uint32_t *bytes_needed /* [out] [ref,range(0,8192)] */,
306                                             WERROR *werror);
307 NTSTATUS rpccli_EnumServicesStatusExA(struct rpc_pipe_client *cli,
308                                       TALLOC_CTX *mem_ctx,
309                                       struct policy_handle *scmanager /* [in] [ref] */,
310                                       uint32_t info_level /* [in]  */,
311                                       uint32_t type /* [in]  */,
312                                       enum svcctl_ServiceState state /* [in]  */,
313                                       uint8_t *services /* [out]  */,
314                                       uint32_t buf_size /* [in]  */,
315                                       uint32_t *bytes_needed /* [out] [ref] */,
316                                       uint32_t *service_returned /* [out] [ref] */,
317                                       uint32_t *resume_handle /* [in,out] [unique] */,
318                                       const char **group_name /* [out] [ref,charset(UTF16)] */,
319                                       WERROR *werror);
320 NTSTATUS rpccli_EnumServicesStatusExW(struct rpc_pipe_client *cli,
321                                       TALLOC_CTX *mem_ctx,
322                                       struct policy_handle *scmanager /* [in] [ref] */,
323                                       uint32_t info_level /* [in]  */,
324                                       uint32_t type /* [in]  */,
325                                       enum svcctl_ServiceState state /* [in]  */,
326                                       uint8_t *services /* [out] [ref,size_is(buf_size)] */,
327                                       uint32_t buf_size /* [in] [range(0,0x40000)] */,
328                                       uint32_t *bytes_needed /* [out] [ref,range(0,0x40000)] */,
329                                       uint32_t *service_returned /* [out] [ref,range(0,0x40000)] */,
330                                       uint32_t *resume_handle /* [in,out] [unique,range(0,0x40000)] */,
331                                       const char *group_name /* [in] [unique,charset(UTF16)] */,
332                                       WERROR *werror);
333 NTSTATUS rpccli_svcctl_SCSendTSMessage(struct rpc_pipe_client *cli,
334                                        TALLOC_CTX *mem_ctx,
335                                        WERROR *werror);
336 #endif /* __CLI_SVCCTL__ */