s3: re-run make idl.
[Samba.git] / source / librpc / gen_ndr / svcctl.h
blobb93d82ba8bf720502754e7d11fbf2697d5c7796f
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #ifndef _HEADER_svcctl
6 #define _HEADER_svcctl
8 #define SERVICE_TYPE_KERNEL_DRIVER ( 0x01 )
9 #define SERVICE_TYPE_FS_DRIVER ( 0x02 )
10 #define SERVICE_TYPE_ADAPTER ( 0x04 )
11 #define SERVICE_TYPE_RECOGNIZER_DRIVER ( 0x08 )
12 #define SERVICE_TYPE_DRIVER ( SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER )
13 #define SERVICE_TYPE_WIN32_OWN_PROCESS ( 0x10 )
14 #define SERVICE_TYPE_WIN32_SHARE_PROCESS ( 0x20 )
15 #define SERVICE_TYPE_WIN32 ( SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS )
16 #define SERVICE_STATE_ACTIVE ( 0x01 )
17 #define SERVICE_STATE_INACTIVE ( 0x02 )
18 #define SERVICE_STATE_ALL ( 0x03 )
19 #define SV_TYPE_ALL ( 0xFFFFFFFF )
20 struct SERVICE_LOCK_STATUS {
21 uint32_t is_locked;
22 const char *lock_owner;/* [unique,charset(UTF16)] */
23 uint32_t lock_duration;
26 struct SERVICE_STATUS {
27 uint32_t type;
28 uint32_t state;
29 uint32_t controls_accepted;
30 WERROR win32_exit_code;
31 uint32_t service_exit_code;
32 uint32_t check_point;
33 uint32_t wait_hint;
36 struct ENUM_SERVICE_STATUS {
37 const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
38 const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
39 struct SERVICE_STATUS status;
42 /* bitmap svcctl_ServerType */
43 #define SV_TYPE_WORKSTATION ( 0x00000001 )
44 #define SV_TYPE_SERVER ( 0x00000002 )
45 #define SV_TYPE_SQLSERVER ( 0x00000004 )
46 #define SV_TYPE_DOMAIN_CTRL ( 0x00000008 )
47 #define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 )
48 #define SV_TYPE_TIME_SOURCE ( 0x00000020 )
49 #define SV_TYPE_AFP ( 0x00000040 )
50 #define SV_TYPE_NOVELL ( 0x00000080 )
51 #define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 )
52 #define SV_TYPE_PRINTQ_SERVER ( 0x00000200 )
53 #define SV_TYPE_DIALIN_SERVER ( 0x00000400 )
54 #define SV_TYPE_SERVER_UNIX ( 0x00000800 )
55 #define SV_TYPE_NT ( 0x00001000 )
56 #define SV_TYPE_WFW ( 0x00002000 )
57 #define SV_TYPE_SERVER_MFPN ( 0x00004000 )
58 #define SV_TYPE_SERVER_NT ( 0x00008000 )
59 #define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 )
60 #define SV_TYPE_BACKUP_BROWSER ( 0x00020000 )
61 #define SV_TYPE_MASTER_BROWSER ( 0x00040000 )
62 #define SV_TYPE_DOMAIN_MASTER ( 0x00080000 )
63 #define SV_TYPE_SERVER_OSF ( 0x00100000 )
64 #define SV_TYPE_SERVER_VMS ( 0x00200000 )
65 #define SV_TYPE_WIN95_PLUS ( 0x00400000 )
66 #define SV_TYPE_DFS_SERVER ( 0x00800000 )
67 #define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 )
68 #define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 )
69 #define SV_TYPE_DOMAIN_ENUM ( 0x80000000 )
71 enum SERVICE_CONTROL
72 #ifndef USE_UINT_ENUMS
74 FIXME=1
76 #else
77 { __donnot_use_enum_SERVICE_CONTROL=0x7FFFFFFF}
78 #define FIXME ( 1 )
79 #endif
82 /* bitmap svcctl_MgrAccessMask */
83 #define SC_RIGHT_MGR_CONNECT ( 0x0001 )
84 #define SC_RIGHT_MGR_CREATE_SERVICE ( 0x0002 )
85 #define SC_RIGHT_MGR_ENUMERATE_SERVICE ( 0x0004 )
86 #define SC_RIGHT_MGR_LOCK ( 0x0008 )
87 #define SC_RIGHT_MGR_QUERY_LOCK_STATUS ( 0x0010 )
88 #define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG ( 0x0020 )
90 /* bitmap svcctl_ServiceAccessMask */
91 #define SC_RIGHT_SVC_QUERY_CONFIG ( 0x0001 )
92 #define SC_RIGHT_SVC_CHANGE_CONFIG ( 0x0002 )
93 #define SC_RIGHT_SVC_QUERY_STATUS ( 0x0004 )
94 #define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS ( 0x0008 )
95 #define SC_RIGHT_SVC_START ( 0x0010 )
96 #define SC_RIGHT_SVC_STOP ( 0x0020 )
97 #define SC_RIGHT_SVC_PAUSE_CONTINUE ( 0x0040 )
98 #define SC_RIGHT_SVC_INTERROGATE ( 0x0080 )
99 #define SC_RIGHT_SVC_USER_DEFINED_CONTROL ( 0x0100 )
101 struct QUERY_SERVICE_CONFIG {
102 uint32_t service_type;
103 uint32_t start_type;
104 uint32_t error_control;
105 const char *executablepath;/* [unique,range(0,8192),charset(UTF16)] */
106 const char *loadordergroup;/* [unique,range(0,8192),charset(UTF16)] */
107 uint32_t tag_id;
108 const char *dependencies;/* [unique,range(0,8192),charset(UTF16)] */
109 const char *startname;/* [unique,range(0,8192),charset(UTF16)] */
110 const char *displayname;/* [unique,range(0,8192),charset(UTF16)] */
111 }/* [gensize,public] */;
114 struct svcctl_CloseServiceHandle {
115 struct {
116 struct policy_handle *handle;/* [ref] */
117 } in;
119 struct {
120 struct policy_handle *handle;/* [ref] */
121 WERROR result;
122 } out;
127 struct svcctl_ControlService {
128 struct {
129 struct policy_handle *handle;/* [ref] */
130 uint32_t control;
131 } in;
133 struct {
134 struct SERVICE_STATUS *service_status;/* [ref] */
135 WERROR result;
136 } out;
141 struct svcctl_DeleteService {
142 struct {
143 struct policy_handle *handle;/* [ref] */
144 } in;
146 struct {
147 WERROR result;
148 } out;
153 struct svcctl_LockServiceDatabase {
154 struct {
155 struct policy_handle *handle;/* [ref] */
156 } in;
158 struct {
159 struct policy_handle *lock;/* [ref] */
160 WERROR result;
161 } out;
166 struct svcctl_QueryServiceObjectSecurity {
167 struct {
168 struct policy_handle *handle;/* [ref] */
169 uint32_t security_flags;
170 uint32_t buffer_size;/* [range(0,0x40000)] */
171 } in;
173 struct {
174 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
175 uint32_t *needed;/* [ref,range(0,0x40000)] */
176 WERROR result;
177 } out;
182 struct svcctl_SetServiceObjectSecurity {
183 struct {
184 struct policy_handle *handle;/* [ref] */
185 uint32_t security_flags;
186 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
187 uint32_t buffer_size;
188 } in;
190 struct {
191 WERROR result;
192 } out;
197 struct svcctl_QueryServiceStatus {
198 struct {
199 struct policy_handle *handle;/* [ref] */
200 } in;
202 struct {
203 struct SERVICE_STATUS *service_status;/* [ref] */
204 WERROR result;
205 } out;
210 struct svcctl_SetServiceStatus {
211 struct {
212 WERROR result;
213 } out;
218 struct svcctl_UnlockServiceDatabase {
219 struct {
220 struct policy_handle *lock;/* [ref] */
221 } in;
223 struct {
224 struct policy_handle *lock;/* [ref] */
225 WERROR result;
226 } out;
231 struct svcctl_NotifyBootConfigStatus {
232 struct {
233 WERROR result;
234 } out;
239 struct svcctl_SCSetServiceBitsW {
240 struct {
241 struct policy_handle *handle;/* [ref] */
242 uint32_t bits;
243 uint32_t bitson;
244 uint32_t immediate;
245 } in;
247 struct {
248 WERROR result;
249 } out;
254 struct svcctl_ChangeServiceConfigW {
255 struct {
256 struct policy_handle *handle;/* [ref] */
257 uint32_t type;
258 uint32_t start;
259 uint32_t error;
260 const char *binary_path;/* [unique,charset(UTF16)] */
261 const char *load_order_group;/* [unique,charset(UTF16)] */
262 const char *dependencies;/* [unique,charset(UTF16)] */
263 const char *service_start_name;/* [unique,charset(UTF16)] */
264 const char *password;/* [unique,charset(UTF16)] */
265 const char *display_name;/* [unique,charset(UTF16)] */
266 } in;
268 struct {
269 uint32_t *tag_id;/* [ref] */
270 WERROR result;
271 } out;
276 struct svcctl_CreateServiceW {
277 struct {
278 struct policy_handle *scmanager_handle;/* [ref] */
279 const char *ServiceName;/* [charset(UTF16)] */
280 const char *DisplayName;/* [unique,charset(UTF16)] */
281 uint32_t desired_access;
282 uint32_t type;
283 uint32_t start_type;
284 uint32_t error_control;
285 const char *binary_path;/* [charset(UTF16)] */
286 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
287 uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */
288 uint32_t dependencies_size;
289 const char *service_start_name;/* [unique,charset(UTF16)] */
290 uint8_t *password;/* [unique,size_is(password_size)] */
291 uint32_t password_size;
292 uint32_t *TagId;/* [unique] */
293 } in;
295 struct {
296 struct policy_handle *handle;/* [ref] */
297 uint32_t *TagId;/* [unique] */
298 WERROR result;
299 } out;
304 struct svcctl_EnumDependentServicesW {
305 struct {
306 struct policy_handle *service;/* [ref] */
307 uint32_t state;
308 uint32_t buf_size;/* [range(0,0x40000)] */
309 } in;
311 struct {
312 uint8_t *service_status;/* [ref,size_is(buf_size)] */
313 uint32_t *bytes_needed;/* [ref,range(0,0x40000)] */
314 uint32_t *services_returned;/* [ref,range(0,0x40000)] */
315 WERROR result;
316 } out;
321 struct svcctl_EnumServicesStatusW {
322 struct {
323 struct policy_handle *handle;/* [ref] */
324 uint32_t type;
325 uint32_t state;
326 uint32_t buf_size;
327 uint32_t *resume_handle;/* [unique] */
328 } in;
330 struct {
331 uint8_t *service;/* [size_is(buf_size)] */
332 uint32_t *bytes_needed;/* [ref] */
333 uint32_t *services_returned;/* [ref] */
334 uint32_t *resume_handle;/* [unique] */
335 WERROR result;
336 } out;
341 struct svcctl_OpenSCManagerW {
342 struct {
343 const char *MachineName;/* [unique,charset(UTF16)] */
344 const char *DatabaseName;/* [unique,charset(UTF16)] */
345 uint32_t access_mask;
346 } in;
348 struct {
349 struct policy_handle *handle;/* [ref] */
350 WERROR result;
351 } out;
356 struct svcctl_OpenServiceW {
357 struct {
358 struct policy_handle *scmanager_handle;/* [ref] */
359 const char *ServiceName;/* [charset(UTF16)] */
360 uint32_t access_mask;
361 } in;
363 struct {
364 struct policy_handle *handle;/* [ref] */
365 WERROR result;
366 } out;
371 struct svcctl_QueryServiceConfigW {
372 struct {
373 struct policy_handle *handle;/* [ref] */
374 uint32_t buf_size;/* [range(0,8192)] */
375 } in;
377 struct {
378 struct QUERY_SERVICE_CONFIG *query;/* [ref] */
379 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
380 WERROR result;
381 } out;
386 struct svcctl_QueryServiceLockStatusW {
387 struct {
388 struct policy_handle *handle;/* [ref] */
389 uint32_t buf_size;
390 } in;
392 struct {
393 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
394 uint32_t *required_buf_size;/* [ref] */
395 WERROR result;
396 } out;
401 struct svcctl_StartServiceW {
402 struct {
403 struct policy_handle *handle;/* [ref] */
404 uint32_t NumArgs;
405 const char *Arguments;/* [unique,charset(UTF16)] */
406 } in;
408 struct {
409 WERROR result;
410 } out;
415 struct svcctl_GetServiceDisplayNameW {
416 struct {
417 struct policy_handle *handle;/* [ref] */
418 const char *service_name;/* [unique,charset(UTF16)] */
419 uint32_t *display_name_length;/* [unique] */
420 } in;
422 struct {
423 const char **display_name;/* [ref,charset(UTF16)] */
424 uint32_t *display_name_length;/* [unique] */
425 WERROR result;
426 } out;
431 struct svcctl_GetServiceKeyNameW {
432 struct {
433 struct policy_handle *handle;/* [ref] */
434 const char *service_name;/* [unique,charset(UTF16)] */
435 uint32_t *display_name_length;/* [unique] */
436 } in;
438 struct {
439 const char **key_name;/* [ref,charset(UTF16)] */
440 uint32_t *display_name_length;/* [unique] */
441 WERROR result;
442 } out;
447 struct svcctl_SCSetServiceBitsA {
448 struct {
449 struct policy_handle *handle;/* [ref] */
450 uint32_t bits;
451 uint32_t bitson;
452 uint32_t immediate;
453 } in;
455 struct {
456 WERROR result;
457 } out;
462 struct svcctl_ChangeServiceConfigA {
463 struct {
464 struct policy_handle *handle;/* [ref] */
465 uint32_t type;
466 uint32_t start;
467 uint32_t error;
468 const char *binary_path;/* [unique,charset(UTF16)] */
469 const char *load_order_group;/* [unique,charset(UTF16)] */
470 const char *dependencies;/* [unique,charset(UTF16)] */
471 const char *service_start_name;/* [unique,charset(UTF16)] */
472 const char *password;/* [unique,charset(UTF16)] */
473 const char *display_name;/* [unique,charset(UTF16)] */
474 } in;
476 struct {
477 uint32_t *tag_id;/* [ref] */
478 WERROR result;
479 } out;
484 struct svcctl_CreateServiceA {
485 struct {
486 struct policy_handle *handle;/* [ref] */
487 const char *ServiceName;/* [unique,charset(UTF16)] */
488 const char *DisplayName;/* [unique,charset(UTF16)] */
489 uint32_t desired_access;
490 uint32_t type;
491 uint32_t start_type;
492 uint32_t error_control;
493 const char *binary_path;/* [unique,charset(UTF16)] */
494 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
495 const char *dependencies;/* [unique,charset(UTF16)] */
496 const char *service_start_name;/* [unique,charset(UTF16)] */
497 const char *password;/* [unique,charset(UTF16)] */
498 } in;
500 struct {
501 uint32_t *TagId;/* [unique] */
502 WERROR result;
503 } out;
508 struct svcctl_EnumDependentServicesA {
509 struct {
510 struct policy_handle *service;/* [ref] */
511 uint32_t state;
512 uint32_t buf_size;
513 } in;
515 struct {
516 struct ENUM_SERVICE_STATUS *service_status;/* [unique] */
517 uint32_t *bytes_needed;/* [ref] */
518 uint32_t *services_returned;/* [ref] */
519 WERROR result;
520 } out;
525 struct svcctl_EnumServicesStatusA {
526 struct {
527 struct policy_handle *handle;/* [ref] */
528 uint32_t type;
529 uint32_t state;
530 uint32_t buf_size;
531 uint32_t *resume_handle;/* [unique] */
532 } in;
534 struct {
535 uint8_t *service;/* [size_is(buf_size)] */
536 uint32_t *bytes_needed;/* [ref] */
537 uint32_t *services_returned;/* [ref] */
538 uint32_t *resume_handle;/* [unique] */
539 WERROR result;
540 } out;
545 struct svcctl_OpenSCManagerA {
546 struct {
547 const char *MachineName;/* [unique,charset(UTF16)] */
548 const char *DatabaseName;/* [unique,charset(UTF16)] */
549 uint32_t access_mask;
550 } in;
552 struct {
553 struct policy_handle *handle;/* [ref] */
554 WERROR result;
555 } out;
560 struct svcctl_OpenServiceA {
561 struct {
562 struct policy_handle *scmanager_handle;/* [ref] */
563 const char *ServiceName;/* [unique,charset(UTF16)] */
564 uint32_t access_mask;
565 } in;
567 struct {
568 WERROR result;
569 } out;
574 struct svcctl_QueryServiceConfigA {
575 struct {
576 struct policy_handle *handle;/* [ref] */
577 uint32_t buf_size;
578 } in;
580 struct {
581 uint8_t *query;
582 uint32_t *bytes_needed;/* [ref] */
583 WERROR result;
584 } out;
589 struct svcctl_QueryServiceLockStatusA {
590 struct {
591 struct policy_handle *handle;/* [ref] */
592 uint32_t buf_size;
593 } in;
595 struct {
596 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
597 uint32_t *required_buf_size;/* [ref] */
598 WERROR result;
599 } out;
604 struct svcctl_StartServiceA {
605 struct {
606 struct policy_handle *handle;/* [ref] */
607 uint32_t NumArgs;
608 const char *Arguments;/* [unique,charset(UTF16)] */
609 } in;
611 struct {
612 WERROR result;
613 } out;
618 struct svcctl_GetServiceDisplayNameA {
619 struct {
620 struct policy_handle *handle;/* [ref] */
621 const char *service_name;/* [unique,charset(UTF16)] */
622 uint32_t *display_name_length;/* [unique] */
623 } in;
625 struct {
626 const char **display_name;/* [ref,charset(UTF16)] */
627 uint32_t *display_name_length;/* [unique] */
628 WERROR result;
629 } out;
634 struct svcctl_GetServiceKeyNameA {
635 struct {
636 struct policy_handle *handle;/* [ref] */
637 const char *service_name;/* [unique,charset(UTF16)] */
638 uint32_t *display_name_length;/* [unique] */
639 } in;
641 struct {
642 const char **key_name;/* [ref,charset(UTF16)] */
643 uint32_t *display_name_length;/* [unique] */
644 WERROR result;
645 } out;
650 struct svcctl_GetCurrentGroupeStateW {
651 struct {
652 WERROR result;
653 } out;
658 struct svcctl_EnumServiceGroupW {
659 struct {
660 WERROR result;
661 } out;
666 struct svcctl_ChangeServiceConfig2A {
667 struct {
668 struct policy_handle *handle;/* [ref] */
669 uint32_t info_level;
670 uint8_t *info;/* [unique] */
671 } in;
673 struct {
674 WERROR result;
675 } out;
680 struct svcctl_ChangeServiceConfig2W {
681 struct {
682 struct policy_handle *handle;/* [ref] */
683 uint32_t info_level;
684 uint8_t *info;/* [unique] */
685 } in;
687 struct {
688 WERROR result;
689 } out;
694 struct svcctl_QueryServiceConfig2A {
695 struct {
696 struct policy_handle *handle;/* [ref] */
697 uint32_t info_level;
698 uint32_t buf_size;
699 } in;
701 struct {
702 uint8_t *buffer;
703 uint32_t *bytes_needed;/* [ref] */
704 WERROR result;
705 } out;
710 struct svcctl_QueryServiceConfig2W {
711 struct {
712 struct policy_handle *handle;/* [ref] */
713 uint32_t info_level;
714 uint32_t buf_size;
715 } in;
717 struct {
718 uint8_t *buffer;
719 uint32_t *bytes_needed;/* [ref] */
720 WERROR result;
721 } out;
726 struct svcctl_QueryServiceStatusEx {
727 struct {
728 struct policy_handle *handle;/* [ref] */
729 uint32_t info_level;
730 uint32_t buf_size;
731 } in;
733 struct {
734 uint8_t *buffer;
735 uint32_t *bytes_needed;/* [ref] */
736 WERROR result;
737 } out;
742 struct EnumServicesStatusExA {
743 struct {
744 struct policy_handle *scmanager;/* [ref] */
745 uint32_t info_level;
746 uint32_t type;
747 uint32_t state;
748 uint32_t buf_size;
749 uint32_t *resume_handle;/* [unique] */
750 } in;
752 struct {
753 uint8_t *services;
754 uint32_t *bytes_needed;/* [ref] */
755 uint32_t *service_returned;/* [ref] */
756 const char **group_name;/* [ref,charset(UTF16)] */
757 uint32_t *resume_handle;/* [unique] */
758 WERROR result;
759 } out;
764 struct EnumServicesStatusExW {
765 struct {
766 struct policy_handle *scmanager;/* [ref] */
767 uint32_t info_level;
768 uint32_t type;
769 uint32_t state;
770 uint32_t buf_size;
771 uint32_t *resume_handle;/* [unique] */
772 } in;
774 struct {
775 uint8_t *services;
776 uint32_t *bytes_needed;/* [ref] */
777 uint32_t *service_returned;/* [ref] */
778 const char **group_name;/* [ref,charset(UTF16)] */
779 uint32_t *resume_handle;/* [unique] */
780 WERROR result;
781 } out;
786 struct svcctl_SCSendTSMessage {
787 struct {
788 WERROR result;
789 } out;
793 #endif /* _HEADER_svcctl */