/release/src/router/samba3/source/librpc/gen_ndr/svcctl.h

https://gitlab.com/envieidoc/advancedtomato2 · C Header · 738 lines · 560 code · 176 blank · 2 comment · 0 complexity · 0600c2c7ee64bcb607c9cb42f9537463 MD5 · raw file

  1. /* header auto-generated by pidl */
  2. #ifndef _HEADER_svcctl
  3. #define _HEADER_svcctl
  4. #define SERVICE_TYPE_KERNEL_DRIVER ( 0x01 )
  5. #define SERVICE_TYPE_FS_DRIVER ( 0x02 )
  6. #define SERVICE_TYPE_ADAPTER ( 0x04 )
  7. #define SERVICE_TYPE_RECOGNIZER_DRIVER ( 0x08 )
  8. #define SERVICE_TYPE_DRIVER ( SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER )
  9. #define SERVICE_TYPE_WIN32_OWN_PROCESS ( 0x10 )
  10. #define SERVICE_TYPE_WIN32_SHARE_PROCESS ( 0x20 )
  11. #define SERVICE_TYPE_WIN32 ( SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS )
  12. #define SERVICE_STATE_ACTIVE ( 0x01 )
  13. #define SERVICE_STATE_INACTIVE ( 0x02 )
  14. #define SERVICE_STATE_ALL ( 0x03 )
  15. #define SV_TYPE_ALL ( 0xFFFFFFFF )
  16. struct SERVICE_LOCK_STATUS {
  17. uint32_t is_locked;
  18. const char *lock_owner;/* [unique,charset(UTF16)] */
  19. uint32_t lock_duration;
  20. };
  21. struct SERVICE_STATUS {
  22. uint32_t type;
  23. uint32_t state;
  24. uint32_t controls_accepted;
  25. uint32_t win32_exit_code;
  26. uint32_t service_exit_code;
  27. uint32_t check_point;
  28. uint32_t wait_hint;
  29. };
  30. struct ENUM_SERVICE_STATUS {
  31. const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
  32. const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
  33. struct SERVICE_STATUS status;
  34. };
  35. /* bitmap svcctl_ServerType */
  36. #define SV_TYPE_WORKSTATION ( 0x00000001 )
  37. #define SV_TYPE_SERVER ( 0x00000002 )
  38. #define SV_TYPE_SQLSERVER ( 0x00000004 )
  39. #define SV_TYPE_DOMAIN_CTRL ( 0x00000008 )
  40. #define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 )
  41. #define SV_TYPE_TIME_SOURCE ( 0x00000020 )
  42. #define SV_TYPE_AFP ( 0x00000040 )
  43. #define SV_TYPE_NOVELL ( 0x00000080 )
  44. #define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 )
  45. #define SV_TYPE_PRINTQ_SERVER ( 0x00000200 )
  46. #define SV_TYPE_DIALIN_SERVER ( 0x00000400 )
  47. #define SV_TYPE_SERVER_UNIX ( 0x00000800 )
  48. #define SV_TYPE_NT ( 0x00001000 )
  49. #define SV_TYPE_WFW ( 0x00002000 )
  50. #define SV_TYPE_SERVER_MFPN ( 0x00004000 )
  51. #define SV_TYPE_SERVER_NT ( 0x00008000 )
  52. #define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 )
  53. #define SV_TYPE_BACKUP_BROWSER ( 0x00020000 )
  54. #define SV_TYPE_MASTER_BROWSER ( 0x00040000 )
  55. #define SV_TYPE_DOMAIN_MASTER ( 0x00080000 )
  56. #define SV_TYPE_SERVER_OSF ( 0x00100000 )
  57. #define SV_TYPE_SERVER_VMS ( 0x00200000 )
  58. #define SV_TYPE_WIN95_PLUS ( 0x00400000 )
  59. #define SV_TYPE_DFS_SERVER ( 0x00800000 )
  60. #define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 )
  61. #define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 )
  62. #define SV_TYPE_DOMAIN_ENUM ( 0x80000000 )
  63. enum SERVICE_CONTROL {
  64. FIXME=1
  65. };
  66. struct svcctl_CloseServiceHandle {
  67. struct {
  68. struct policy_handle *handle;/* [ref] */
  69. } in;
  70. struct {
  71. struct policy_handle *handle;/* [ref] */
  72. WERROR result;
  73. } out;
  74. };
  75. struct svcctl_ControlService {
  76. struct {
  77. struct policy_handle *handle;/* [ref] */
  78. uint32_t control;
  79. } in;
  80. struct {
  81. struct SERVICE_STATUS *status;/* [ref] */
  82. WERROR result;
  83. } out;
  84. };
  85. struct svcctl_DeleteService {
  86. struct {
  87. struct policy_handle *handle;/* [ref] */
  88. } in;
  89. struct {
  90. WERROR result;
  91. } out;
  92. };
  93. struct svcctl_LockServiceDatabase {
  94. struct {
  95. struct policy_handle *handle;/* [ref] */
  96. } in;
  97. struct {
  98. struct policy_handle *lock;/* [ref] */
  99. WERROR result;
  100. } out;
  101. };
  102. struct svcctl_QueryServiceObjectSecurity {
  103. struct {
  104. WERROR result;
  105. } out;
  106. };
  107. struct svcctl_SetServiceObjectSecurity {
  108. struct {
  109. WERROR result;
  110. } out;
  111. };
  112. struct svcctl_QueryServiceStatus {
  113. struct {
  114. struct policy_handle *handle;/* [ref] */
  115. } in;
  116. struct {
  117. struct SERVICE_STATUS *status;/* [ref] */
  118. WERROR result;
  119. } out;
  120. };
  121. struct svcctl_SetServiceStatus {
  122. struct {
  123. WERROR result;
  124. } out;
  125. };
  126. struct svcctl_UnlockServiceDatabase {
  127. struct {
  128. struct policy_handle *lock;/* [ref] */
  129. } in;
  130. struct {
  131. struct policy_handle *lock;/* [ref] */
  132. WERROR result;
  133. } out;
  134. };
  135. struct svcctl_NotifyBootConfigStatus {
  136. struct {
  137. WERROR result;
  138. } out;
  139. };
  140. struct svcctl_SCSetServiceBitsW {
  141. struct {
  142. struct policy_handle *handle;/* [ref] */
  143. uint32_t bits;
  144. uint32_t bitson;
  145. uint32_t immediate;
  146. } in;
  147. struct {
  148. WERROR result;
  149. } out;
  150. };
  151. struct svcctl_ChangeServiceConfigW {
  152. struct {
  153. struct policy_handle *handle;/* [ref] */
  154. uint32_t type;
  155. uint32_t start;
  156. uint32_t error;
  157. const char *binary_path;/* [unique,charset(UTF16)] */
  158. const char *load_order_group;/* [unique,charset(UTF16)] */
  159. const char *dependencies;/* [unique,charset(UTF16)] */
  160. const char *service_start_name;/* [unique,charset(UTF16)] */
  161. const char *password;/* [unique,charset(UTF16)] */
  162. const char *display_name;/* [unique,charset(UTF16)] */
  163. } in;
  164. struct {
  165. uint32_t *tag_id;/* [ref] */
  166. WERROR result;
  167. } out;
  168. };
  169. struct svcctl_CreateServiceW {
  170. struct {
  171. struct policy_handle *scmanager_handle;/* [ref] */
  172. const char *ServiceName;/* [charset(UTF16)] */
  173. const char *DisplayName;/* [unique,charset(UTF16)] */
  174. uint32_t desired_access;
  175. uint32_t type;
  176. uint32_t start_type;
  177. uint32_t error_control;
  178. const char *binary_path;/* [charset(UTF16)] */
  179. const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
  180. uint32_t *TagId;/* [unique] */
  181. uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */
  182. uint32_t dependencies_size;
  183. const char *service_start_name;/* [unique,charset(UTF16)] */
  184. uint8_t *password;/* [unique,size_is(password_size)] */
  185. uint32_t password_size;
  186. } in;
  187. struct {
  188. uint32_t *TagId;/* [unique] */
  189. struct policy_handle *handle;/* [ref] */
  190. WERROR result;
  191. } out;
  192. };
  193. struct svcctl_EnumDependentServicesW {
  194. struct {
  195. struct policy_handle *service;/* [ref] */
  196. uint32_t state;
  197. uint32_t buf_size;
  198. } in;
  199. struct {
  200. struct ENUM_SERVICE_STATUS *status;/* [unique] */
  201. uint32_t *bytes_needed;/* [ref] */
  202. uint32_t *services_returned;/* [ref] */
  203. WERROR result;
  204. } out;
  205. };
  206. struct svcctl_EnumServicesStatusW {
  207. struct {
  208. struct policy_handle *handle;/* [ref] */
  209. uint32_t type;
  210. uint32_t state;
  211. uint32_t buf_size;
  212. uint32_t *resume_handle;/* [unique] */
  213. } in;
  214. struct {
  215. uint8_t *service;/* [size_is(buf_size)] */
  216. uint32_t *bytes_needed;/* [ref] */
  217. uint32_t *services_returned;/* [ref] */
  218. uint32_t *resume_handle;/* [unique] */
  219. WERROR result;
  220. } out;
  221. };
  222. struct svcctl_OpenSCManagerW {
  223. struct {
  224. const char *MachineName;/* [unique,charset(UTF16)] */
  225. const char *DatabaseName;/* [unique,charset(UTF16)] */
  226. uint32_t access_mask;
  227. } in;
  228. struct {
  229. struct policy_handle *handle;/* [ref] */
  230. WERROR result;
  231. } out;
  232. };
  233. struct svcctl_OpenServiceW {
  234. struct {
  235. struct policy_handle *scmanager_handle;/* [ref] */
  236. const char *ServiceName;/* [charset(UTF16)] */
  237. uint32_t access_mask;
  238. } in;
  239. struct {
  240. struct policy_handle *handle;/* [ref] */
  241. WERROR result;
  242. } out;
  243. };
  244. struct svcctl_QueryServiceConfigW {
  245. struct {
  246. struct policy_handle *handle;/* [ref] */
  247. uint32_t buf_size;
  248. } in;
  249. struct {
  250. uint8_t *query;
  251. uint32_t *bytes_needed;/* [ref] */
  252. WERROR result;
  253. } out;
  254. };
  255. struct svcctl_QueryServiceLockStatusW {
  256. struct {
  257. struct policy_handle *handle;/* [ref] */
  258. uint32_t buf_size;
  259. } in;
  260. struct {
  261. struct SERVICE_LOCK_STATUS *status;/* [ref] */
  262. uint32_t *required_buf_size;/* [ref] */
  263. WERROR result;
  264. } out;
  265. };
  266. struct svcctl_StartServiceW {
  267. struct {
  268. struct policy_handle *handle;/* [ref] */
  269. uint32_t NumArgs;
  270. const char *Arguments;/* [unique,charset(UTF16),length_is(NumArgs)] */
  271. } in;
  272. struct {
  273. WERROR result;
  274. } out;
  275. };
  276. struct svcctl_GetServiceDisplayNameW {
  277. struct {
  278. struct policy_handle *handle;/* [ref] */
  279. const char *service_name;/* [unique,charset(UTF16)] */
  280. uint32_t *display_name_length;/* [unique] */
  281. } in;
  282. struct {
  283. const char **display_name;/* [ref,charset(UTF16)] */
  284. uint32_t *display_name_length;/* [unique] */
  285. WERROR result;
  286. } out;
  287. };
  288. struct svcctl_GetServiceKeyNameW {
  289. struct {
  290. struct policy_handle *handle;/* [ref] */
  291. const char *service_name;/* [unique,charset(UTF16)] */
  292. uint32_t *display_name_length;/* [unique] */
  293. } in;
  294. struct {
  295. const char **key_name;/* [ref,charset(UTF16)] */
  296. uint32_t *display_name_length;/* [unique] */
  297. WERROR result;
  298. } out;
  299. };
  300. struct svcctl_SCSetServiceBitsA {
  301. struct {
  302. struct policy_handle *handle;/* [ref] */
  303. uint32_t bits;
  304. uint32_t bitson;
  305. uint32_t immediate;
  306. } in;
  307. struct {
  308. WERROR result;
  309. } out;
  310. };
  311. struct svcctl_ChangeServiceConfigA {
  312. struct {
  313. struct policy_handle *handle;/* [ref] */
  314. uint32_t type;
  315. uint32_t start;
  316. uint32_t error;
  317. const char *binary_path;/* [unique,charset(UTF16)] */
  318. const char *load_order_group;/* [unique,charset(UTF16)] */
  319. const char *dependencies;/* [unique,charset(UTF16)] */
  320. const char *service_start_name;/* [unique,charset(UTF16)] */
  321. const char *password;/* [unique,charset(UTF16)] */
  322. const char *display_name;/* [unique,charset(UTF16)] */
  323. } in;
  324. struct {
  325. uint32_t *tag_id;/* [ref] */
  326. WERROR result;
  327. } out;
  328. };
  329. struct svcctl_CreateServiceA {
  330. struct {
  331. struct policy_handle *handle;/* [ref] */
  332. const char *ServiceName;/* [unique,charset(UTF16)] */
  333. const char *DisplayName;/* [unique,charset(UTF16)] */
  334. uint32_t desired_access;
  335. uint32_t type;
  336. uint32_t start_type;
  337. uint32_t error_control;
  338. const char *binary_path;/* [unique,charset(UTF16)] */
  339. const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
  340. const char *dependencies;/* [unique,charset(UTF16)] */
  341. const char *service_start_name;/* [unique,charset(UTF16)] */
  342. const char *password;/* [unique,charset(UTF16)] */
  343. } in;
  344. struct {
  345. uint32_t *TagId;/* [unique] */
  346. WERROR result;
  347. } out;
  348. };
  349. struct svcctl_EnumDependentServicesA {
  350. struct {
  351. struct policy_handle *service;/* [ref] */
  352. uint32_t state;
  353. uint32_t buf_size;
  354. } in;
  355. struct {
  356. struct ENUM_SERVICE_STATUS *status;/* [unique] */
  357. uint32_t *bytes_needed;/* [ref] */
  358. uint32_t *services_returned;/* [ref] */
  359. WERROR result;
  360. } out;
  361. };
  362. struct svcctl_EnumServicesStatusA {
  363. struct {
  364. struct policy_handle *handle;/* [ref] */
  365. uint32_t type;
  366. uint32_t state;
  367. uint32_t buf_size;
  368. uint32_t *resume_handle;/* [unique] */
  369. } in;
  370. struct {
  371. uint8_t *service;/* [size_is(buf_size)] */
  372. uint32_t *bytes_needed;/* [ref] */
  373. uint32_t *services_returned;/* [ref] */
  374. uint32_t *resume_handle;/* [unique] */
  375. WERROR result;
  376. } out;
  377. };
  378. struct svcctl_OpenSCManagerA {
  379. struct {
  380. const char *MachineName;/* [unique,charset(UTF16)] */
  381. const char *DatabaseName;/* [unique,charset(UTF16)] */
  382. uint32_t access_mask;
  383. } in;
  384. struct {
  385. struct policy_handle *handle;/* [ref] */
  386. WERROR result;
  387. } out;
  388. };
  389. struct svcctl_OpenServiceA {
  390. struct {
  391. struct policy_handle *scmanager_handle;/* [ref] */
  392. const char *ServiceName;/* [unique,charset(UTF16)] */
  393. uint32_t access_mask;
  394. } in;
  395. struct {
  396. WERROR result;
  397. } out;
  398. };
  399. struct svcctl_QueryServiceConfigA {
  400. struct {
  401. struct policy_handle *handle;/* [ref] */
  402. uint32_t buf_size;
  403. } in;
  404. struct {
  405. uint8_t *query;
  406. uint32_t *bytes_needed;/* [ref] */
  407. WERROR result;
  408. } out;
  409. };
  410. struct svcctl_QueryServiceLockStatusA {
  411. struct {
  412. struct policy_handle *handle;/* [ref] */
  413. uint32_t buf_size;
  414. } in;
  415. struct {
  416. struct SERVICE_LOCK_STATUS *status;/* [ref] */
  417. uint32_t *required_buf_size;/* [ref] */
  418. WERROR result;
  419. } out;
  420. };
  421. struct svcctl_StartServiceA {
  422. struct {
  423. struct policy_handle *handle;/* [ref] */
  424. uint32_t NumArgs;
  425. const char *Arguments;/* [unique,charset(UTF16),length_is(NumArgs)] */
  426. } in;
  427. struct {
  428. WERROR result;
  429. } out;
  430. };
  431. struct svcctl_GetServiceDisplayNameA {
  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. struct {
  438. const char **display_name;/* [ref,charset(UTF16)] */
  439. uint32_t *display_name_length;/* [unique] */
  440. WERROR result;
  441. } out;
  442. };
  443. struct svcctl_GetServiceKeyNameA {
  444. struct {
  445. struct policy_handle *handle;/* [ref] */
  446. const char *service_name;/* [unique,charset(UTF16)] */
  447. uint32_t *display_name_length;/* [unique] */
  448. } in;
  449. struct {
  450. const char **key_name;/* [ref,charset(UTF16)] */
  451. uint32_t *display_name_length;/* [unique] */
  452. WERROR result;
  453. } out;
  454. };
  455. struct svcctl_GetCurrentGroupeStateW {
  456. struct {
  457. WERROR result;
  458. } out;
  459. };
  460. struct svcctl_EnumServiceGroupW {
  461. struct {
  462. WERROR result;
  463. } out;
  464. };
  465. struct svcctl_ChangeServiceConfig2A {
  466. struct {
  467. struct policy_handle *handle;/* [ref] */
  468. uint32_t info_level;
  469. uint8_t *info;/* [unique] */
  470. } in;
  471. struct {
  472. WERROR result;
  473. } out;
  474. };
  475. struct svcctl_ChangeServiceConfig2W {
  476. struct {
  477. struct policy_handle *handle;/* [ref] */
  478. uint32_t info_level;
  479. uint8_t *info;/* [unique] */
  480. } in;
  481. struct {
  482. WERROR result;
  483. } out;
  484. };
  485. struct svcctl_QueryServiceConfig2A {
  486. struct {
  487. struct policy_handle *handle;/* [ref] */
  488. uint32_t info_level;
  489. uint32_t buf_size;
  490. } in;
  491. struct {
  492. uint8_t *buffer;
  493. uint32_t *bytes_needed;/* [ref] */
  494. WERROR result;
  495. } out;
  496. };
  497. struct svcctl_QueryServiceConfig2W {
  498. struct {
  499. struct policy_handle *handle;/* [ref] */
  500. uint32_t info_level;
  501. uint32_t buf_size;
  502. } in;
  503. struct {
  504. uint8_t *buffer;
  505. uint32_t *bytes_needed;/* [ref] */
  506. WERROR result;
  507. } out;
  508. };
  509. struct svcctl_QueryServiceStatusEx {
  510. struct {
  511. struct policy_handle *handle;/* [ref] */
  512. uint32_t info_level;
  513. uint32_t buf_size;
  514. } in;
  515. struct {
  516. uint8_t *buffer;
  517. uint32_t *bytes_needed;/* [ref] */
  518. WERROR result;
  519. } out;
  520. };
  521. struct EnumServicesStatusExA {
  522. struct {
  523. struct policy_handle *scmanager;/* [ref] */
  524. uint32_t info_level;
  525. uint32_t type;
  526. uint32_t state;
  527. uint32_t buf_size;
  528. uint32_t *resume_handle;/* [unique] */
  529. } in;
  530. struct {
  531. uint8_t *services;
  532. uint32_t *bytes_needed;/* [ref] */
  533. uint32_t *service_returned;/* [ref] */
  534. uint32_t *resume_handle;/* [unique] */
  535. const char **group_name;/* [ref,charset(UTF16)] */
  536. WERROR result;
  537. } out;
  538. };
  539. struct EnumServicesStatusExW {
  540. struct {
  541. struct policy_handle *scmanager;/* [ref] */
  542. uint32_t info_level;
  543. uint32_t type;
  544. uint32_t state;
  545. uint32_t buf_size;
  546. uint32_t *resume_handle;/* [unique] */
  547. } in;
  548. struct {
  549. uint8_t *services;
  550. uint32_t *bytes_needed;/* [ref] */
  551. uint32_t *service_returned;/* [ref] */
  552. uint32_t *resume_handle;/* [unique] */
  553. const char **group_name;/* [ref,charset(UTF16)] */
  554. WERROR result;
  555. } out;
  556. };
  557. struct svcctl_SCSendTSMessage {
  558. struct {
  559. WERROR result;
  560. } out;
  561. };
  562. #endif /* _HEADER_svcctl */