source: branches/samba-3.3.x/source/librpc/gen_ndr/svcctl.h

Last change on this file was 206, checked in by Herwig Bauernfeind, 16 years ago

Import Samba 3.3 branch at 3.0.0 level (psmedley's port)

File size: 15.8 KB
Line 
1/* header auto-generated by pidl */
2
3#include <stdint.h>
4
5#ifndef _HEADER_svcctl
6#define _HEADER_svcctl
7
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 )
20struct SERVICE_LOCK_STATUS {
21 uint32_t is_locked;
22 const char *lock_owner;/* [unique,charset(UTF16)] */
23 uint32_t lock_duration;
24};
25
26struct 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;
34};
35
36struct 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;
40};
41
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 )
70
71enum SERVICE_CONTROL
72#ifndef USE_UINT_ENUMS
73 {
74 FIXME=1
75}
76#else
77 { __donnot_use_enum_SERVICE_CONTROL=0x7FFFFFFF}
78#define FIXME ( 1 )
79#endif
80;
81
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 )
89
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 )
100
101struct 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] */;
112
113
114struct svcctl_CloseServiceHandle {
115 struct {
116 struct policy_handle *handle;/* [ref] */
117 } in;
118
119 struct {
120 struct policy_handle *handle;/* [ref] */
121 WERROR result;
122 } out;
123
124};
125
126
127struct svcctl_ControlService {
128 struct {
129 struct policy_handle *handle;/* [ref] */
130 uint32_t control;
131 } in;
132
133 struct {
134 struct SERVICE_STATUS *service_status;/* [ref] */
135 WERROR result;
136 } out;
137
138};
139
140
141struct svcctl_DeleteService {
142 struct {
143 struct policy_handle *handle;/* [ref] */
144 } in;
145
146 struct {
147 WERROR result;
148 } out;
149
150};
151
152
153struct svcctl_LockServiceDatabase {
154 struct {
155 struct policy_handle *handle;/* [ref] */
156 } in;
157
158 struct {
159 struct policy_handle *lock;/* [ref] */
160 WERROR result;
161 } out;
162
163};
164
165
166struct 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;
172
173 struct {
174 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
175 uint32_t *needed;/* [ref,range(0,0x40000)] */
176 WERROR result;
177 } out;
178
179};
180
181
182struct 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;
189
190 struct {
191 WERROR result;
192 } out;
193
194};
195
196
197struct svcctl_QueryServiceStatus {
198 struct {
199 struct policy_handle *handle;/* [ref] */
200 } in;
201
202 struct {
203 struct SERVICE_STATUS *service_status;/* [ref] */
204 WERROR result;
205 } out;
206
207};
208
209
210struct svcctl_SetServiceStatus {
211 struct {
212 WERROR result;
213 } out;
214
215};
216
217
218struct svcctl_UnlockServiceDatabase {
219 struct {
220 struct policy_handle *lock;/* [ref] */
221 } in;
222
223 struct {
224 struct policy_handle *lock;/* [ref] */
225 WERROR result;
226 } out;
227
228};
229
230
231struct svcctl_NotifyBootConfigStatus {
232 struct {
233 WERROR result;
234 } out;
235
236};
237
238
239struct svcctl_SCSetServiceBitsW {
240 struct {
241 struct policy_handle *handle;/* [ref] */
242 uint32_t bits;
243 uint32_t bitson;
244 uint32_t immediate;
245 } in;
246
247 struct {
248 WERROR result;
249 } out;
250
251};
252
253
254struct 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;
267
268 struct {
269 uint32_t *tag_id;/* [ref] */
270 WERROR result;
271 } out;
272
273};
274
275
276struct 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;
294
295 struct {
296 struct policy_handle *handle;/* [ref] */
297 uint32_t *TagId;/* [unique] */
298 WERROR result;
299 } out;
300
301};
302
303
304struct svcctl_EnumDependentServicesW {
305 struct {
306 struct policy_handle *service;/* [ref] */
307 uint32_t state;
308 uint32_t buf_size;/* [range(0,0x40000)] */
309 } in;
310
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;
317
318};
319
320
321struct 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;
329
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;
337
338};
339
340
341struct 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;
347
348 struct {
349 struct policy_handle *handle;/* [ref] */
350 WERROR result;
351 } out;
352
353};
354
355
356struct svcctl_OpenServiceW {
357 struct {
358 struct policy_handle *scmanager_handle;/* [ref] */
359 const char *ServiceName;/* [charset(UTF16)] */
360 uint32_t access_mask;
361 } in;
362
363 struct {
364 struct policy_handle *handle;/* [ref] */
365 WERROR result;
366 } out;
367
368};
369
370
371struct svcctl_QueryServiceConfigW {
372 struct {
373 struct policy_handle *handle;/* [ref] */
374 uint32_t buf_size;/* [range(0,8192)] */
375 } in;
376
377 struct {
378 struct QUERY_SERVICE_CONFIG *query;/* [ref] */
379 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
380 WERROR result;
381 } out;
382
383};
384
385
386struct svcctl_QueryServiceLockStatusW {
387 struct {
388 struct policy_handle *handle;/* [ref] */
389 uint32_t buf_size;
390 } in;
391
392 struct {
393 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
394 uint32_t *required_buf_size;/* [ref] */
395 WERROR result;
396 } out;
397
398};
399
400
401struct svcctl_StartServiceW {
402 struct {
403 struct policy_handle *handle;/* [ref] */
404 uint32_t NumArgs;
405 const char *Arguments;/* [unique,charset(UTF16)] */
406 } in;
407
408 struct {
409 WERROR result;
410 } out;
411
412};
413
414
415struct 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;
421
422 struct {
423 const char **display_name;/* [ref,charset(UTF16)] */
424 uint32_t *display_name_length;/* [unique] */
425 WERROR result;
426 } out;
427
428};
429
430
431struct 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;
437
438 struct {
439 const char **key_name;/* [ref,charset(UTF16)] */
440 uint32_t *display_name_length;/* [unique] */
441 WERROR result;
442 } out;
443
444};
445
446
447struct svcctl_SCSetServiceBitsA {
448 struct {
449 struct policy_handle *handle;/* [ref] */
450 uint32_t bits;
451 uint32_t bitson;
452 uint32_t immediate;
453 } in;
454
455 struct {
456 WERROR result;
457 } out;
458
459};
460
461
462struct 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;
475
476 struct {
477 uint32_t *tag_id;/* [ref] */
478 WERROR result;
479 } out;
480
481};
482
483
484struct 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;
499
500 struct {
501 uint32_t *TagId;/* [unique] */
502 WERROR result;
503 } out;
504
505};
506
507
508struct svcctl_EnumDependentServicesA {
509 struct {
510 struct policy_handle *service;/* [ref] */
511 uint32_t state;
512 uint32_t buf_size;
513 } in;
514
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;
521
522};
523
524
525struct 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;
533
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;
541
542};
543
544
545struct 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;
551
552 struct {
553 struct policy_handle *handle;/* [ref] */
554 WERROR result;
555 } out;
556
557};
558
559
560struct 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;
566
567 struct {
568 WERROR result;
569 } out;
570
571};
572
573
574struct svcctl_QueryServiceConfigA {
575 struct {
576 struct policy_handle *handle;/* [ref] */
577 uint32_t buf_size;
578 } in;
579
580 struct {
581 uint8_t *query;
582 uint32_t *bytes_needed;/* [ref] */
583 WERROR result;
584 } out;
585
586};
587
588
589struct svcctl_QueryServiceLockStatusA {
590 struct {
591 struct policy_handle *handle;/* [ref] */
592 uint32_t buf_size;
593 } in;
594
595 struct {
596 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
597 uint32_t *required_buf_size;/* [ref] */
598 WERROR result;
599 } out;
600
601};
602
603
604struct svcctl_StartServiceA {
605 struct {
606 struct policy_handle *handle;/* [ref] */
607 uint32_t NumArgs;
608 const char *Arguments;/* [unique,charset(UTF16)] */
609 } in;
610
611 struct {
612 WERROR result;
613 } out;
614
615};
616
617
618struct 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;
624
625 struct {
626 const char **display_name;/* [ref,charset(UTF16)] */
627 uint32_t *display_name_length;/* [unique] */
628 WERROR result;
629 } out;
630
631};
632
633
634struct 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;
640
641 struct {
642 const char **key_name;/* [ref,charset(UTF16)] */
643 uint32_t *display_name_length;/* [unique] */
644 WERROR result;
645 } out;
646
647};
648
649
650struct svcctl_GetCurrentGroupeStateW {
651 struct {
652 WERROR result;
653 } out;
654
655};
656
657
658struct svcctl_EnumServiceGroupW {
659 struct {
660 WERROR result;
661 } out;
662
663};
664
665
666struct svcctl_ChangeServiceConfig2A {
667 struct {
668 struct policy_handle *handle;/* [ref] */
669 uint32_t info_level;
670 uint8_t *info;/* [unique] */
671 } in;
672
673 struct {
674 WERROR result;
675 } out;
676
677};
678
679
680struct svcctl_ChangeServiceConfig2W {
681 struct {
682 struct policy_handle *handle;/* [ref] */
683 uint32_t info_level;
684 uint8_t *info;/* [unique] */
685 } in;
686
687 struct {
688 WERROR result;
689 } out;
690
691};
692
693
694struct svcctl_QueryServiceConfig2A {
695 struct {
696 struct policy_handle *handle;/* [ref] */
697 uint32_t info_level;
698 uint32_t buf_size;
699 } in;
700
701 struct {
702 uint8_t *buffer;
703 uint32_t *bytes_needed;/* [ref] */
704 WERROR result;
705 } out;
706
707};
708
709
710struct svcctl_QueryServiceConfig2W {
711 struct {
712 struct policy_handle *handle;/* [ref] */
713 uint32_t info_level;
714 uint32_t buf_size;
715 } in;
716
717 struct {
718 uint8_t *buffer;
719 uint32_t *bytes_needed;/* [ref] */
720 WERROR result;
721 } out;
722
723};
724
725
726struct svcctl_QueryServiceStatusEx {
727 struct {
728 struct policy_handle *handle;/* [ref] */
729 uint32_t info_level;
730 uint32_t buf_size;
731 } in;
732
733 struct {
734 uint8_t *buffer;
735 uint32_t *bytes_needed;/* [ref] */
736 WERROR result;
737 } out;
738
739};
740
741
742struct 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;
751
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;
760
761};
762
763
764struct 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;
773
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;
782
783};
784
785
786struct svcctl_SCSendTSMessage {
787 struct {
788 WERROR result;
789 } out;
790
791};
792
793#endif /* _HEADER_svcctl */
Note: See TracBrowser for help on using the repository browser.