[GLUE] Rsync SAMBA_3_0 SVN r25598 in order to create the v3-0-test branch.
[Samba.git] / source / librpc / gen_ndr / svcctl.h
blob6bc81b93a7d46498d63aa1a5a78b163b0387426a
1 /* header auto-generated by pidl */
3 #ifndef _HEADER_svcctl
4 #define _HEADER_svcctl
6 #define SERVICE_TYPE_KERNEL_DRIVER ( 0x01 )
7 #define SERVICE_TYPE_FS_DRIVER ( 0x02 )
8 #define SERVICE_TYPE_ADAPTER ( 0x04 )
9 #define SERVICE_TYPE_RECOGNIZER_DRIVER ( 0x08 )
10 #define SERVICE_TYPE_DRIVER ( SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER )
11 #define SERVICE_TYPE_WIN32_OWN_PROCESS ( 0x10 )
12 #define SERVICE_TYPE_WIN32_SHARE_PROCESS ( 0x20 )
13 #define SERVICE_TYPE_WIN32 ( SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS )
14 #define SERVICE_STATE_ACTIVE ( 0x01 )
15 #define SERVICE_STATE_INACTIVE ( 0x02 )
16 #define SERVICE_STATE_ALL ( 0x03 )
17 #define SV_TYPE_ALL ( 0xFFFFFFFF )
18 struct SERVICE_LOCK_STATUS {
19 uint32_t is_locked;
20 const char *lock_owner;/* [unique,charset(UTF16)] */
21 uint32_t lock_duration;
24 struct SERVICE_STATUS {
25 uint32_t type;
26 uint32_t state;
27 uint32_t controls_accepted;
28 uint32_t win32_exit_code;
29 uint32_t service_exit_code;
30 uint32_t check_point;
31 uint32_t wait_hint;
34 struct ENUM_SERVICE_STATUS {
35 const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
36 const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
37 struct SERVICE_STATUS status;
40 /* bitmap svcctl_ServerType */
41 #define SV_TYPE_WORKSTATION ( 0x00000001 )
42 #define SV_TYPE_SERVER ( 0x00000002 )
43 #define SV_TYPE_SQLSERVER ( 0x00000004 )
44 #define SV_TYPE_DOMAIN_CTRL ( 0x00000008 )
45 #define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 )
46 #define SV_TYPE_TIME_SOURCE ( 0x00000020 )
47 #define SV_TYPE_AFP ( 0x00000040 )
48 #define SV_TYPE_NOVELL ( 0x00000080 )
49 #define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 )
50 #define SV_TYPE_PRINTQ_SERVER ( 0x00000200 )
51 #define SV_TYPE_DIALIN_SERVER ( 0x00000400 )
52 #define SV_TYPE_SERVER_UNIX ( 0x00000800 )
53 #define SV_TYPE_NT ( 0x00001000 )
54 #define SV_TYPE_WFW ( 0x00002000 )
55 #define SV_TYPE_SERVER_MFPN ( 0x00004000 )
56 #define SV_TYPE_SERVER_NT ( 0x00008000 )
57 #define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 )
58 #define SV_TYPE_BACKUP_BROWSER ( 0x00020000 )
59 #define SV_TYPE_MASTER_BROWSER ( 0x00040000 )
60 #define SV_TYPE_DOMAIN_MASTER ( 0x00080000 )
61 #define SV_TYPE_SERVER_OSF ( 0x00100000 )
62 #define SV_TYPE_SERVER_VMS ( 0x00200000 )
63 #define SV_TYPE_WIN95_PLUS ( 0x00400000 )
64 #define SV_TYPE_DFS_SERVER ( 0x00800000 )
65 #define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 )
66 #define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 )
67 #define SV_TYPE_DOMAIN_ENUM ( 0x80000000 )
69 enum SERVICE_CONTROL {
70 FIXME=1
74 struct svcctl_CloseServiceHandle {
75 struct {
76 struct policy_handle *handle;/* [ref] */
77 } in;
79 struct {
80 struct policy_handle *handle;/* [ref] */
81 WERROR result;
82 } out;
87 struct svcctl_ControlService {
88 struct {
89 struct policy_handle *handle;/* [ref] */
90 uint32_t control;
91 } in;
93 struct {
94 struct SERVICE_STATUS *status;/* [ref] */
95 WERROR result;
96 } out;
101 struct svcctl_DeleteService {
102 struct {
103 struct policy_handle *handle;/* [ref] */
104 } in;
106 struct {
107 WERROR result;
108 } out;
113 struct svcctl_LockServiceDatabase {
114 struct {
115 struct policy_handle *handle;/* [ref] */
116 } in;
118 struct {
119 struct policy_handle *lock;/* [ref] */
120 WERROR result;
121 } out;
126 struct svcctl_QueryServiceObjectSecurity {
127 struct {
128 WERROR result;
129 } out;
134 struct svcctl_SetServiceObjectSecurity {
135 struct {
136 WERROR result;
137 } out;
142 struct svcctl_QueryServiceStatus {
143 struct {
144 struct policy_handle *handle;/* [ref] */
145 } in;
147 struct {
148 struct SERVICE_STATUS *status;/* [ref] */
149 WERROR result;
150 } out;
155 struct svcctl_SetServiceStatus {
156 struct {
157 WERROR result;
158 } out;
163 struct svcctl_UnlockServiceDatabase {
164 struct {
165 struct policy_handle *lock;/* [ref] */
166 } in;
168 struct {
169 struct policy_handle *lock;/* [ref] */
170 WERROR result;
171 } out;
176 struct svcctl_NotifyBootConfigStatus {
177 struct {
178 WERROR result;
179 } out;
184 struct svcctl_SCSetServiceBitsW {
185 struct {
186 struct policy_handle *handle;/* [ref] */
187 uint32_t bits;
188 uint32_t bitson;
189 uint32_t immediate;
190 } in;
192 struct {
193 WERROR result;
194 } out;
199 struct svcctl_ChangeServiceConfigW {
200 struct {
201 struct policy_handle *handle;/* [ref] */
202 uint32_t type;
203 uint32_t start;
204 uint32_t error;
205 const char *binary_path;/* [unique,charset(UTF16)] */
206 const char *load_order_group;/* [unique,charset(UTF16)] */
207 const char *dependencies;/* [unique,charset(UTF16)] */
208 const char *service_start_name;/* [unique,charset(UTF16)] */
209 const char *password;/* [unique,charset(UTF16)] */
210 const char *display_name;/* [unique,charset(UTF16)] */
211 } in;
213 struct {
214 uint32_t *tag_id;/* [ref] */
215 WERROR result;
216 } out;
221 struct svcctl_CreateServiceW {
222 struct {
223 struct policy_handle *scmanager_handle;/* [ref] */
224 const char *ServiceName;/* [charset(UTF16)] */
225 const char *DisplayName;/* [unique,charset(UTF16)] */
226 uint32_t desired_access;
227 uint32_t type;
228 uint32_t start_type;
229 uint32_t error_control;
230 const char *binary_path;/* [charset(UTF16)] */
231 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
232 uint32_t *TagId;/* [unique] */
233 uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */
234 uint32_t dependencies_size;
235 const char *service_start_name;/* [unique,charset(UTF16)] */
236 uint8_t *password;/* [unique,size_is(password_size)] */
237 uint32_t password_size;
238 } in;
240 struct {
241 uint32_t *TagId;/* [unique] */
242 struct policy_handle *handle;/* [ref] */
243 WERROR result;
244 } out;
249 struct svcctl_EnumDependentServicesW {
250 struct {
251 struct policy_handle *service;/* [ref] */
252 uint32_t state;
253 uint32_t buf_size;
254 } in;
256 struct {
257 struct ENUM_SERVICE_STATUS *status;/* [unique] */
258 uint32_t *bytes_needed;/* [ref] */
259 uint32_t *services_returned;/* [ref] */
260 WERROR result;
261 } out;
266 struct svcctl_EnumServicesStatusW {
267 struct {
268 struct policy_handle *handle;/* [ref] */
269 uint32_t type;
270 uint32_t state;
271 uint32_t buf_size;
272 uint32_t *resume_handle;/* [unique] */
273 } in;
275 struct {
276 uint8_t *service;/* [size_is(buf_size)] */
277 uint32_t *bytes_needed;/* [ref] */
278 uint32_t *services_returned;/* [ref] */
279 uint32_t *resume_handle;/* [unique] */
280 WERROR result;
281 } out;
286 struct svcctl_OpenSCManagerW {
287 struct {
288 const char *MachineName;/* [unique,charset(UTF16)] */
289 const char *DatabaseName;/* [unique,charset(UTF16)] */
290 uint32_t access_mask;
291 } in;
293 struct {
294 struct policy_handle *handle;/* [ref] */
295 WERROR result;
296 } out;
301 struct svcctl_OpenServiceW {
302 struct {
303 struct policy_handle *scmanager_handle;/* [ref] */
304 const char *ServiceName;/* [charset(UTF16)] */
305 uint32_t access_mask;
306 } in;
308 struct {
309 struct policy_handle *handle;/* [ref] */
310 WERROR result;
311 } out;
316 struct svcctl_QueryServiceConfigW {
317 struct {
318 struct policy_handle *handle;/* [ref] */
319 uint32_t buf_size;
320 } in;
322 struct {
323 uint8_t *query;
324 uint32_t *bytes_needed;/* [ref] */
325 WERROR result;
326 } out;
331 struct svcctl_QueryServiceLockStatusW {
332 struct {
333 struct policy_handle *handle;/* [ref] */
334 uint32_t buf_size;
335 } in;
337 struct {
338 struct SERVICE_LOCK_STATUS *status;/* [ref] */
339 uint32_t *required_buf_size;/* [ref] */
340 WERROR result;
341 } out;
346 struct svcctl_StartServiceW {
347 struct {
348 struct policy_handle *handle;/* [ref] */
349 uint32_t NumArgs;
350 const char *Arguments;/* [unique,charset(UTF16),length_is(NumArgs)] */
351 } in;
353 struct {
354 WERROR result;
355 } out;
360 struct svcctl_GetServiceDisplayNameW {
361 struct {
362 struct policy_handle *handle;/* [ref] */
363 const char *service_name;/* [unique,charset(UTF16)] */
364 uint32_t *display_name_length;/* [unique] */
365 } in;
367 struct {
368 const char **display_name;/* [ref,charset(UTF16)] */
369 uint32_t *display_name_length;/* [unique] */
370 WERROR result;
371 } out;
376 struct svcctl_GetServiceKeyNameW {
377 struct {
378 struct policy_handle *handle;/* [ref] */
379 const char *service_name;/* [unique,charset(UTF16)] */
380 uint32_t *display_name_length;/* [unique] */
381 } in;
383 struct {
384 const char **key_name;/* [ref,charset(UTF16)] */
385 uint32_t *display_name_length;/* [unique] */
386 WERROR result;
387 } out;
392 struct svcctl_SCSetServiceBitsA {
393 struct {
394 struct policy_handle *handle;/* [ref] */
395 uint32_t bits;
396 uint32_t bitson;
397 uint32_t immediate;
398 } in;
400 struct {
401 WERROR result;
402 } out;
407 struct svcctl_ChangeServiceConfigA {
408 struct {
409 struct policy_handle *handle;/* [ref] */
410 uint32_t type;
411 uint32_t start;
412 uint32_t error;
413 const char *binary_path;/* [unique,charset(UTF16)] */
414 const char *load_order_group;/* [unique,charset(UTF16)] */
415 const char *dependencies;/* [unique,charset(UTF16)] */
416 const char *service_start_name;/* [unique,charset(UTF16)] */
417 const char *password;/* [unique,charset(UTF16)] */
418 const char *display_name;/* [unique,charset(UTF16)] */
419 } in;
421 struct {
422 uint32_t *tag_id;/* [ref] */
423 WERROR result;
424 } out;
429 struct svcctl_CreateServiceA {
430 struct {
431 struct policy_handle *handle;/* [ref] */
432 const char *ServiceName;/* [unique,charset(UTF16)] */
433 const char *DisplayName;/* [unique,charset(UTF16)] */
434 uint32_t desired_access;
435 uint32_t type;
436 uint32_t start_type;
437 uint32_t error_control;
438 const char *binary_path;/* [unique,charset(UTF16)] */
439 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
440 const char *dependencies;/* [unique,charset(UTF16)] */
441 const char *service_start_name;/* [unique,charset(UTF16)] */
442 const char *password;/* [unique,charset(UTF16)] */
443 } in;
445 struct {
446 uint32_t *TagId;/* [unique] */
447 WERROR result;
448 } out;
453 struct svcctl_EnumDependentServicesA {
454 struct {
455 struct policy_handle *service;/* [ref] */
456 uint32_t state;
457 uint32_t buf_size;
458 } in;
460 struct {
461 struct ENUM_SERVICE_STATUS *status;/* [unique] */
462 uint32_t *bytes_needed;/* [ref] */
463 uint32_t *services_returned;/* [ref] */
464 WERROR result;
465 } out;
470 struct svcctl_EnumServicesStatusA {
471 struct {
472 struct policy_handle *handle;/* [ref] */
473 uint32_t type;
474 uint32_t state;
475 uint32_t buf_size;
476 uint32_t *resume_handle;/* [unique] */
477 } in;
479 struct {
480 uint8_t *service;/* [size_is(buf_size)] */
481 uint32_t *bytes_needed;/* [ref] */
482 uint32_t *services_returned;/* [ref] */
483 uint32_t *resume_handle;/* [unique] */
484 WERROR result;
485 } out;
490 struct svcctl_OpenSCManagerA {
491 struct {
492 const char *MachineName;/* [unique,charset(UTF16)] */
493 const char *DatabaseName;/* [unique,charset(UTF16)] */
494 uint32_t access_mask;
495 } in;
497 struct {
498 struct policy_handle *handle;/* [ref] */
499 WERROR result;
500 } out;
505 struct svcctl_OpenServiceA {
506 struct {
507 struct policy_handle *scmanager_handle;/* [ref] */
508 const char *ServiceName;/* [unique,charset(UTF16)] */
509 uint32_t access_mask;
510 } in;
512 struct {
513 WERROR result;
514 } out;
519 struct svcctl_QueryServiceConfigA {
520 struct {
521 struct policy_handle *handle;/* [ref] */
522 uint32_t buf_size;
523 } in;
525 struct {
526 uint8_t *query;
527 uint32_t *bytes_needed;/* [ref] */
528 WERROR result;
529 } out;
534 struct svcctl_QueryServiceLockStatusA {
535 struct {
536 struct policy_handle *handle;/* [ref] */
537 uint32_t buf_size;
538 } in;
540 struct {
541 struct SERVICE_LOCK_STATUS *status;/* [ref] */
542 uint32_t *required_buf_size;/* [ref] */
543 WERROR result;
544 } out;
549 struct svcctl_StartServiceA {
550 struct {
551 struct policy_handle *handle;/* [ref] */
552 uint32_t NumArgs;
553 const char *Arguments;/* [unique,charset(UTF16),length_is(NumArgs)] */
554 } in;
556 struct {
557 WERROR result;
558 } out;
563 struct svcctl_GetServiceDisplayNameA {
564 struct {
565 struct policy_handle *handle;/* [ref] */
566 const char *service_name;/* [unique,charset(UTF16)] */
567 uint32_t *display_name_length;/* [unique] */
568 } in;
570 struct {
571 const char **display_name;/* [ref,charset(UTF16)] */
572 uint32_t *display_name_length;/* [unique] */
573 WERROR result;
574 } out;
579 struct svcctl_GetServiceKeyNameA {
580 struct {
581 struct policy_handle *handle;/* [ref] */
582 const char *service_name;/* [unique,charset(UTF16)] */
583 uint32_t *display_name_length;/* [unique] */
584 } in;
586 struct {
587 const char **key_name;/* [ref,charset(UTF16)] */
588 uint32_t *display_name_length;/* [unique] */
589 WERROR result;
590 } out;
595 struct svcctl_GetCurrentGroupeStateW {
596 struct {
597 WERROR result;
598 } out;
603 struct svcctl_EnumServiceGroupW {
604 struct {
605 WERROR result;
606 } out;
611 struct svcctl_ChangeServiceConfig2A {
612 struct {
613 struct policy_handle *handle;/* [ref] */
614 uint32_t info_level;
615 uint8_t *info;/* [unique] */
616 } in;
618 struct {
619 WERROR result;
620 } out;
625 struct svcctl_ChangeServiceConfig2W {
626 struct {
627 struct policy_handle *handle;/* [ref] */
628 uint32_t info_level;
629 uint8_t *info;/* [unique] */
630 } in;
632 struct {
633 WERROR result;
634 } out;
639 struct svcctl_QueryServiceConfig2A {
640 struct {
641 struct policy_handle *handle;/* [ref] */
642 uint32_t info_level;
643 uint32_t buf_size;
644 } in;
646 struct {
647 uint8_t *buffer;
648 uint32_t *bytes_needed;/* [ref] */
649 WERROR result;
650 } out;
655 struct svcctl_QueryServiceConfig2W {
656 struct {
657 struct policy_handle *handle;/* [ref] */
658 uint32_t info_level;
659 uint32_t buf_size;
660 } in;
662 struct {
663 uint8_t *buffer;
664 uint32_t *bytes_needed;/* [ref] */
665 WERROR result;
666 } out;
671 struct svcctl_QueryServiceStatusEx {
672 struct {
673 struct policy_handle *handle;/* [ref] */
674 uint32_t info_level;
675 uint32_t buf_size;
676 } in;
678 struct {
679 uint8_t *buffer;
680 uint32_t *bytes_needed;/* [ref] */
681 WERROR result;
682 } out;
687 struct EnumServicesStatusExA {
688 struct {
689 struct policy_handle *scmanager;/* [ref] */
690 uint32_t info_level;
691 uint32_t type;
692 uint32_t state;
693 uint32_t buf_size;
694 uint32_t *resume_handle;/* [unique] */
695 } in;
697 struct {
698 uint8_t *services;
699 uint32_t *bytes_needed;/* [ref] */
700 uint32_t *service_returned;/* [ref] */
701 uint32_t *resume_handle;/* [unique] */
702 const char **group_name;/* [ref,charset(UTF16)] */
703 WERROR result;
704 } out;
709 struct EnumServicesStatusExW {
710 struct {
711 struct policy_handle *scmanager;/* [ref] */
712 uint32_t info_level;
713 uint32_t type;
714 uint32_t state;
715 uint32_t buf_size;
716 uint32_t *resume_handle;/* [unique] */
717 } in;
719 struct {
720 uint8_t *services;
721 uint32_t *bytes_needed;/* [ref] */
722 uint32_t *service_returned;/* [ref] */
723 uint32_t *resume_handle;/* [unique] */
724 const char **group_name;/* [ref,charset(UTF16)] */
725 WERROR result;
726 } out;
731 struct svcctl_SCSendTSMessage {
732 struct {
733 WERROR result;
734 } out;
738 #endif /* _HEADER_svcctl */