#define SVCCTL_SVC_ERROR_CRITICAL 0x00000002
#define SVCCTL_SVC_ERROR_SEVERE 0x00000003
-/* QueryServiceConfig2 options */
-#define SERVICE_CONFIG_DESCRIPTION 0x00000001
-#define SERVICE_CONFIG_FAILURE_ACTIONS 0x00000002
-
/* Service Config - values for ServiceType field*/
#define SVCCTL_DEMAND_START 0x00000003
#define SVCCTL_DISABLED 0x00000004
-/* Service Controls */
-
-#define SVCCTL_CONTROL_STOP 0x00000001
-#define SVCCTL_CONTROL_PAUSE 0x00000002
-#define SVCCTL_CONTROL_CONTINUE 0x00000003
-#define SVCCTL_CONTROL_INTERROGATE 0x00000004
-#define SVCCTL_CONTROL_SHUTDOWN 0x00000005
-
#define SVC_HANDLE_IS_SCM 0x0000001
#define SVC_HANDLE_IS_SERVICE 0x0000002
#define SVC_HANDLE_IS_DBLOCK 0x0000003
-#define SVC_STATUS_PROCESS_INFO 0x00000000
-
-/* where we assume the location of the service control scripts */
-#define SVCCTL_SCRIPT_DIR "svcctl"
-
/* utility structures for RPCs */
/*
SERVICE_STATUS status;
} ENUM_SERVICES_STATUS;
-typedef struct {
- uint32 service_type;
- uint32 start_type;
- uint32 error_control;
- UNISTR2 *executablepath;
- UNISTR2 *loadordergroup;
- uint32 tag_id;
- UNISTR2 *dependencies;
- UNISTR2 *startname;
- UNISTR2 *displayname;
-} SERVICE_CONFIG;
-
typedef struct {
uint32 unknown;
UNISTR description;
SC_ACTION *actions;
} SERVICE_FAILURE_ACTIONS;
-/*
- * dispatch table of functions to handle the =ServiceControl API
- */
-
-typedef struct {
- /* functions for enumerating subkeys and values */
- WERROR (*stop_service)( const char *service, SERVICE_STATUS *status );
- WERROR (*start_service) ( const char *service );
- WERROR (*service_status)( const char *service, SERVICE_STATUS *status );
-} SERVICE_CONTROL_OPS;
-
-/* structure to store the service handle information */
-
-typedef struct _ServiceInfo {
- uint8 type;
- char *name;
- uint32 access_granted;
- SERVICE_CONTROL_OPS *ops;
-} SERVICE_INFO;
-
/* rpc structures */
WERROR status;
} SVCCTL_R_ENUM_SERVICES_STATUS;
-/**************************/
-
-typedef struct {
- POLICY_HND handle;
- uint32 state;
- uint32 buffer_size;
-} SVCCTL_Q_ENUM_DEPENDENT_SERVICES;
-
-typedef struct {
- RPC_BUFFER buffer;
- uint32 needed;
- uint32 returned;
- WERROR status;
-} SVCCTL_R_ENUM_DEPENDENT_SERVICES;
-
-
-/**************************/
-
-typedef struct {
- POLICY_HND handle;
- uint32 buffer_size;
-} SVCCTL_Q_QUERY_SERVICE_CONFIG;
-
-typedef struct {
- SERVICE_CONFIG config;
- uint32 needed;
- WERROR status;
-} SVCCTL_R_QUERY_SERVICE_CONFIG;
-
-
/**************************/
typedef struct {
WERROR status;
} SVCCTL_R_QUERY_SERVICE_STATUSEX;
-
-/**************************/
-
-typedef struct {
- POLICY_HND handle;
- uint32 security_flags;
- uint32 buffer_size;
-} SVCCTL_Q_QUERY_SERVICE_SEC;
-
-typedef struct {
- RPC_BUFFER buffer;
- uint32 needed;
- WERROR status;
-} SVCCTL_R_QUERY_SERVICE_SEC;
-
-/**************************/
-
-typedef struct {
- POLICY_HND handle;
- uint32 security_flags;
- RPC_BUFFER buffer;
- uint32 buffer_size;
-} SVCCTL_Q_SET_SERVICE_SEC;
-
-typedef struct {
- WERROR status;
-} SVCCTL_R_SET_SERVICE_SEC;
-
-
#endif /* _RPC_SVCCTL_H */