source: branches/samba-3.0/source/librpc/gen_ndr/svcctl.h

Last change on this file was 1, checked in by Paul Smedley, 18 years ago

Initial code import

File size: 14.0 KB
Line 
1/* header auto-generated by pidl */
2
3#ifndef _HEADER_svcctl
4#define _HEADER_svcctl
5
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 )
18struct SERVICE_LOCK_STATUS {
19 uint32_t is_locked;
20 const char *lock_owner;/* [unique,charset(UTF16)] */
21 uint32_t lock_duration;
22};
23
24struct 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;
32};
33
34struct 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;
38};
39
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 )
68
69enum SERVICE_CONTROL {
70 FIXME=1
71};
72
73
74struct svcctl_CloseServiceHandle {
75 struct {
76 struct policy_handle *handle;/* [ref] */
77 } in;
78
79 struct {
80 struct policy_handle *handle;/* [ref] */
81 WERROR result;
82 } out;
83
84};
85
86
87struct svcctl_ControlService {
88 struct {
89 struct policy_handle *handle;/* [ref] */
90 uint32_t control;
91 } in;
92
93 struct {
94 struct SERVICE_STATUS *status;/* [ref] */
95 WERROR result;
96 } out;
97
98};
99
100
101struct svcctl_DeleteService {
102 struct {
103 struct policy_handle *handle;/* [ref] */
104 } in;
105
106 struct {
107 WERROR result;
108 } out;
109
110};
111
112
113struct svcctl_LockServiceDatabase {
114 struct {
115 struct policy_handle *handle;/* [ref] */
116 } in;
117
118 struct {
119 struct policy_handle *lock;/* [ref] */
120 WERROR result;
121 } out;
122
123};
124
125
126struct svcctl_QueryServiceObjectSecurity {
127 struct {
128 WERROR result;
129 } out;
130
131};
132
133
134struct svcctl_SetServiceObjectSecurity {
135 struct {
136 WERROR result;
137 } out;
138
139};
140
141
142struct svcctl_QueryServiceStatus {
143 struct {
144 struct policy_handle *handle;/* [ref] */
145 } in;
146
147 struct {
148 struct SERVICE_STATUS *status;/* [ref] */
149 WERROR result;
150 } out;
151
152};
153
154
155struct svcctl_SetServiceStatus {
156 struct {
157 WERROR result;
158 } out;
159
160};
161
162
163struct svcctl_UnlockServiceDatabase {
164 struct {
165 struct policy_handle *lock;/* [ref] */
166 } in;
167
168 struct {
169 struct policy_handle *lock;/* [ref] */
170 WERROR result;
171 } out;
172
173};
174
175
176struct svcctl_NotifyBootConfigStatus {
177 struct {
178 WERROR result;
179 } out;
180
181};
182
183
184struct svcctl_SCSetServiceBitsW {
185 struct {
186 struct policy_handle *handle;/* [ref] */
187 uint32_t bits;
188 uint32_t bitson;
189 uint32_t immediate;
190 } in;
191
192 struct {
193 WERROR result;
194 } out;
195
196};
197
198
199struct 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;
212
213 struct {
214 uint32_t *tag_id;/* [ref] */
215 WERROR result;
216 } out;
217
218};
219
220
221struct 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;
239
240 struct {
241 uint32_t *TagId;/* [unique] */
242 struct policy_handle *handle;/* [ref] */
243 WERROR result;
244 } out;
245
246};
247
248
249struct svcctl_EnumDependentServicesW {
250 struct {
251 struct policy_handle *service;/* [ref] */
252 uint32_t state;
253 uint32_t buf_size;
254 } in;
255
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;
262
263};
264
265
266struct 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;
274
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;
282
283};
284
285
286struct 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;
292
293 struct {
294 struct policy_handle *handle;/* [ref] */
295 WERROR result;
296 } out;
297
298};
299
300
301struct svcctl_OpenServiceW {
302 struct {
303 struct policy_handle *scmanager_handle;/* [ref] */
304 const char *ServiceName;/* [charset(UTF16)] */
305 uint32_t access_mask;
306 } in;
307
308 struct {
309 struct policy_handle *handle;/* [ref] */
310 WERROR result;
311 } out;
312
313};
314
315
316struct svcctl_QueryServiceConfigW {
317 struct {
318 struct policy_handle *handle;/* [ref] */
319 uint32_t buf_size;
320 } in;
321
322 struct {
323 uint8_t *query;
324 uint32_t *bytes_needed;/* [ref] */
325 WERROR result;
326 } out;
327
328};
329
330
331struct svcctl_QueryServiceLockStatusW {
332 struct {
333 struct policy_handle *handle;/* [ref] */
334 uint32_t buf_size;
335 } in;
336
337 struct {
338 struct SERVICE_LOCK_STATUS *status;/* [ref] */
339 uint32_t *required_buf_size;/* [ref] */
340 WERROR result;
341 } out;
342
343};
344
345
346struct 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;
352
353 struct {
354 WERROR result;
355 } out;
356
357};
358
359
360struct 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;
366
367 struct {
368 const char **display_name;/* [ref,charset(UTF16)] */
369 uint32_t *display_name_length;/* [unique] */
370 WERROR result;
371 } out;
372
373};
374
375
376struct 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;
382
383 struct {
384 const char **key_name;/* [ref,charset(UTF16)] */
385 uint32_t *display_name_length;/* [unique] */
386 WERROR result;
387 } out;
388
389};
390
391
392struct svcctl_SCSetServiceBitsA {
393 struct {
394 struct policy_handle *handle;/* [ref] */
395 uint32_t bits;
396 uint32_t bitson;
397 uint32_t immediate;
398 } in;
399
400 struct {
401 WERROR result;
402 } out;
403
404};
405
406
407struct 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;
420
421 struct {
422 uint32_t *tag_id;/* [ref] */
423 WERROR result;
424 } out;
425
426};
427
428
429struct 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;
444
445 struct {
446 uint32_t *TagId;/* [unique] */
447 WERROR result;
448 } out;
449
450};
451
452
453struct svcctl_EnumDependentServicesA {
454 struct {
455 struct policy_handle *service;/* [ref] */
456 uint32_t state;
457 uint32_t buf_size;
458 } in;
459
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;
466
467};
468
469
470struct 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;
478
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;
486
487};
488
489
490struct 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;
496
497 struct {
498 struct policy_handle *handle;/* [ref] */
499 WERROR result;
500 } out;
501
502};
503
504
505struct 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;
511
512 struct {
513 WERROR result;
514 } out;
515
516};
517
518
519struct svcctl_QueryServiceConfigA {
520 struct {
521 struct policy_handle *handle;/* [ref] */
522 uint32_t buf_size;
523 } in;
524
525 struct {
526 uint8_t *query;
527 uint32_t *bytes_needed;/* [ref] */
528 WERROR result;
529 } out;
530
531};
532
533
534struct svcctl_QueryServiceLockStatusA {
535 struct {
536 struct policy_handle *handle;/* [ref] */
537 uint32_t buf_size;
538 } in;
539
540 struct {
541 struct SERVICE_LOCK_STATUS *status;/* [ref] */
542 uint32_t *required_buf_size;/* [ref] */
543 WERROR result;
544 } out;
545
546};
547
548
549struct 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;
555
556 struct {
557 WERROR result;
558 } out;
559
560};
561
562
563struct 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;
569
570 struct {
571 const char **display_name;/* [ref,charset(UTF16)] */
572 uint32_t *display_name_length;/* [unique] */
573 WERROR result;
574 } out;
575
576};
577
578
579struct 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;
585
586 struct {
587 const char **key_name;/* [ref,charset(UTF16)] */
588 uint32_t *display_name_length;/* [unique] */
589 WERROR result;
590 } out;
591
592};
593
594
595struct svcctl_GetCurrentGroupeStateW {
596 struct {
597 WERROR result;
598 } out;
599
600};
601
602
603struct svcctl_EnumServiceGroupW {
604 struct {
605 WERROR result;
606 } out;
607
608};
609
610
611struct svcctl_ChangeServiceConfig2A {
612 struct {
613 struct policy_handle *handle;/* [ref] */
614 uint32_t info_level;
615 uint8_t *info;/* [unique] */
616 } in;
617
618 struct {
619 WERROR result;
620 } out;
621
622};
623
624
625struct svcctl_ChangeServiceConfig2W {
626 struct {
627 struct policy_handle *handle;/* [ref] */
628 uint32_t info_level;
629 uint8_t *info;/* [unique] */
630 } in;
631
632 struct {
633 WERROR result;
634 } out;
635
636};
637
638
639struct svcctl_QueryServiceConfig2A {
640 struct {
641 struct policy_handle *handle;/* [ref] */
642 uint32_t info_level;
643 uint32_t buf_size;
644 } in;
645
646 struct {
647 uint8_t *buffer;
648 uint32_t *bytes_needed;/* [ref] */
649 WERROR result;
650 } out;
651
652};
653
654
655struct svcctl_QueryServiceConfig2W {
656 struct {
657 struct policy_handle *handle;/* [ref] */
658 uint32_t info_level;
659 uint32_t buf_size;
660 } in;
661
662 struct {
663 uint8_t *buffer;
664 uint32_t *bytes_needed;/* [ref] */
665 WERROR result;
666 } out;
667
668};
669
670
671struct svcctl_QueryServiceStatusEx {
672 struct {
673 struct policy_handle *handle;/* [ref] */
674 uint32_t info_level;
675 uint32_t buf_size;
676 } in;
677
678 struct {
679 uint8_t *buffer;
680 uint32_t *bytes_needed;/* [ref] */
681 WERROR result;
682 } out;
683
684};
685
686
687struct 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;
696
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;
705
706};
707
708
709struct 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;
718
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;
727
728};
729
730
731struct svcctl_SCSendTSMessage {
732 struct {
733 WERROR result;
734 } out;
735
736};
737
738#endif /* _HEADER_svcctl */
Note: See TracBrowser for help on using the repository browser.