2005-03-23 23:26:33 +00:00
/*
Unix SMB / CIFS implementation .
SMB parameters and setup
Copyright ( C ) Andrew Tridgell 1992 - 1997 ,
Copyright ( C ) Gerald ( Jerry ) Carter 2005
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
2007-07-09 19:25:36 +00:00
the Free Software Foundation ; either version 3 of the License , or
2005-03-23 23:26:33 +00:00
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
2007-07-10 00:52:41 +00:00
along with this program . If not , see < http : //www.gnu.org/licenses/>.
2005-03-23 23:26:33 +00:00
*/
# ifndef _RPC_SVCCTL_H /* _RPC_SVCCTL_H */
# define _RPC_SVCCTL_H
/* svcctl pipe */
# define SVCCTL_CLOSE_SERVICE 0x00
# define SVCCTL_CONTROL_SERVICE 0x01
2005-09-30 17:13:37 +00:00
# define SVCCTL_LOCK_SERVICE_DB 0x03
2006-01-13 20:24:50 +00:00
# define SVCCTL_QUERY_SERVICE_SEC 0x04
# define SVCCTL_SET_SERVICE_SEC 0x05
2005-03-23 23:26:33 +00:00
# define SVCCTL_QUERY_STATUS 0x06
2005-09-30 17:13:37 +00:00
# define SVCCTL_UNLOCK_SERVICE_DB 0x08
2005-03-23 23:26:33 +00:00
# define SVCCTL_ENUM_DEPENDENT_SERVICES_W 0x0d
# define SVCCTL_ENUM_SERVICES_STATUS_W 0x0e
# define SVCCTL_OPEN_SCMANAGER_W 0x0f
# define SVCCTL_OPEN_SERVICE_W 0x10
# define SVCCTL_QUERY_SERVICE_CONFIG_W 0x11
# define SVCCTL_START_SERVICE_W 0x13
# define SVCCTL_GET_DISPLAY_NAME 0x14
# define SVCCTL_QUERY_SERVICE_CONFIG2_W 0x27
2005-06-14 03:17:31 +00:00
# define SVCCTL_QUERY_SERVICE_STATUSEX_W 0x28
2005-03-23 23:26:33 +00:00
/* ANSI versions not implemented currently
# define SVCCTL_ENUM_SERVICES_STATUS_A 0x0e
# define SVCCTL_OPEN_SCMANAGER_A 0x1b
*/
/* utility structures for RPCs */
typedef struct {
UNISTR servicename ;
UNISTR displayname ;
2009-01-08 13:23:59 +01:00
struct SERVICE_STATUS status ;
2005-03-23 23:26:33 +00:00
} ENUM_SERVICES_STATUS ;
/* rpc structures */
/**************************/
typedef struct {
POLICY_HND handle ;
uint32 type ;
uint32 state ;
uint32 buffer_size ;
uint32 * resume ;
} SVCCTL_Q_ENUM_SERVICES_STATUS ;
typedef struct {
RPC_BUFFER buffer ;
uint32 needed ;
uint32 returned ;
uint32 * resume ;
WERROR status ;
} SVCCTL_R_ENUM_SERVICES_STATUS ;
# endif /* _RPC_SVCCTL_H */