[SCM] Samba Shared Repository - branch master updated - 50721b485f4322a2cd8688740bc1de3f754a7c05

Günther Deschner gd at samba.org
Thu Jan 8 12:26:49 GMT 2009


The branch, master has been updated
       via  50721b485f4322a2cd8688740bc1de3f754a7c05 (commit)
       via  490a14068e8c1e88fcf701dfcc89ecdae9cada2a (commit)
       via  ca98357710cb975b73b56452c914e5583dcbcd79 (commit)
       via  cbc2c9059f34389402aaad2d2f45ac208e68ff52 (commit)
       via  700d0557623270b30c4d13bf23b0e693bbb94a33 (commit)
       via  0c2784c6bec28065501523ac61d6276c266479d2 (commit)
       via  378ef220690152de101dc71acd5e9fa1d064ac35 (commit)
       via  ad078f5269b93cdf4b8ee832a4b18dac8b513181 (commit)
      from  d44a6982f33efca09861201953b4abfc6710fd4a (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 50721b485f4322a2cd8688740bc1de3f754a7c05
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 8 13:23:59 2009 +0100

    s3-svcctl: use pidl based struct SERVICE_STATUS.
    
    Guenther

commit 490a14068e8c1e88fcf701dfcc89ecdae9cada2a
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 8 13:08:18 2009 +0100

    s3: re-run make samba3-idl.
    
    Guenther

commit ca98357710cb975b73b56452c914e5583dcbcd79
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 8 13:06:38 2009 +0100

    s3-svcctl: add copyright to svcctl rpc_server.
    
    Guenther

commit cbc2c9059f34389402aaad2d2f45ac208e68ff52
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 8 13:05:29 2009 +0100

    s3-svcctl: remove some more redundant headers.
    
    Guenther

commit 700d0557623270b30c4d13bf23b0e693bbb94a33
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 8 12:46:54 2009 +0100

    s3-svcctl: move SVC_HANDLE_IS* defines to implementation specific header file.
    
    Guenther

commit 0c2784c6bec28065501523ac61d6276c266479d2
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 8 12:40:25 2009 +0100

    s3-svcctl: remove (now duplicate) defines.
    
    Guenther

commit 378ef220690152de101dc71acd5e9fa1d064ac35
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 8 12:39:50 2009 +0100

    svcctl: add svcctl_ServiceStatus and svcctl_ControlsAccepted.
    
    Guenther

commit ad078f5269b93cdf4b8ee832a4b18dac8b513181
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 8 12:28:35 2009 +0100

    s3-svcctl: remove (now duplicate) SVCCTL_STAT* defines.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 librpc/gen_ndr/ndr_svcctl.c        |   72 +++++++++++++++++++++++++++++++++---
 librpc/gen_ndr/ndr_svcctl.h        |    2 +
 librpc/gen_ndr/svcctl.h            |   37 ++++++++++++++++++-
 librpc/idl/svcctl.idl              |   26 ++++++++++++-
 source3/include/rpc_svcctl.h       |   52 +-------------------------
 source3/include/services.h         |    8 +++-
 source3/rpc_parse/parse_svcctl.c   |    4 +-
 source3/rpc_server/srv_svcctl_nt.c |    9 +++-
 source3/services/services_db.c     |    2 +-
 source3/services/svc_netlogon.c    |    4 +-
 source3/services/svc_rcinit.c      |    4 +-
 source3/services/svc_spoolss.c     |    4 +-
 source3/services/svc_winreg.c      |    4 +-
 source3/services/svc_wins.c        |    4 +-
 source3/utils/net_rpc_service.c    |    8 ++--
 15 files changed, 158 insertions(+), 82 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/ndr_svcctl.c b/librpc/gen_ndr/ndr_svcctl.c
index 54c49ad..4cc85d4 100644
--- a/librpc/gen_ndr/ndr_svcctl.c
+++ b/librpc/gen_ndr/ndr_svcctl.c
@@ -71,13 +71,73 @@ _PUBLIC_ void ndr_print_SERVICE_LOCK_STATUS(struct ndr_print *ndr, const char *n
 	ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_svcctl_ServiceStatus(struct ndr_push *ndr, int ndr_flags, enum svcctl_ServiceStatus r)
+{
+	NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+	return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_svcctl_ServiceStatus(struct ndr_pull *ndr, int ndr_flags, enum svcctl_ServiceStatus *r)
+{
+	uint32_t v;
+	NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+	*r = v;
+	return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_svcctl_ServiceStatus(struct ndr_print *ndr, const char *name, enum svcctl_ServiceStatus r)
+{
+	const char *val = NULL;
+
+	switch (r) {
+		case SVCCTL_STATE_UNKNOWN: val = "SVCCTL_STATE_UNKNOWN"; break;
+		case SVCCTL_STOPPED: val = "SVCCTL_STOPPED"; break;
+		case SVCCTL_START_PENDING: val = "SVCCTL_START_PENDING"; break;
+		case SVCCTL_STOP_PENDING: val = "SVCCTL_STOP_PENDING"; break;
+		case SVCCTL_RUNNING: val = "SVCCTL_RUNNING"; break;
+		case SVCCTL_CONTINUE_PENDING: val = "SVCCTL_CONTINUE_PENDING"; break;
+		case SVCCTL_PAUSE_PENDING: val = "SVCCTL_PAUSE_PENDING"; break;
+		case SVCCTL_PAUSED: val = "SVCCTL_PAUSED"; break;
+	}
+	ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_svcctl_ControlsAccepted(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+{
+	NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+	return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_svcctl_ControlsAccepted(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+{
+	uint32_t v;
+	NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+	*r = v;
+	return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_svcctl_ControlsAccepted(struct ndr_print *ndr, const char *name, uint32_t r)
+{
+	ndr_print_uint32(ndr, name, r);
+	ndr->depth++;
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_NONE", SVCCTL_ACCEPT_NONE, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_STOP", SVCCTL_ACCEPT_STOP, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_PAUSE_CONTINUE", SVCCTL_ACCEPT_PAUSE_CONTINUE, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_SHUTDOWN", SVCCTL_ACCEPT_SHUTDOWN, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_PARAMCHANGE", SVCCTL_ACCEPT_PARAMCHANGE, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_NETBINDCHANGE", SVCCTL_ACCEPT_NETBINDCHANGE, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_HARDWAREPROFILECHANGE", SVCCTL_ACCEPT_HARDWAREPROFILECHANGE, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_POWEREVENT", SVCCTL_ACCEPT_POWEREVENT, r);
+	ndr->depth--;
+}
+
 static enum ndr_err_code ndr_push_SERVICE_STATUS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_STATUS *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_push_align(ndr, 4));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->type));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->state));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->controls_accepted));
+		NDR_CHECK(ndr_push_svcctl_ServiceStatus(ndr, NDR_SCALARS, r->state));
+		NDR_CHECK(ndr_push_svcctl_ControlsAccepted(ndr, NDR_SCALARS, r->controls_accepted));
 		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->win32_exit_code));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->service_exit_code));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->check_point));
@@ -93,8 +153,8 @@ static enum ndr_err_code ndr_pull_SERVICE_STATUS(struct ndr_pull *ndr, int ndr_f
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_pull_align(ndr, 4));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->type));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->state));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->controls_accepted));
+		NDR_CHECK(ndr_pull_svcctl_ServiceStatus(ndr, NDR_SCALARS, &r->state));
+		NDR_CHECK(ndr_pull_svcctl_ControlsAccepted(ndr, NDR_SCALARS, &r->controls_accepted));
 		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->win32_exit_code));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->service_exit_code));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->check_point));
@@ -110,8 +170,8 @@ _PUBLIC_ void ndr_print_SERVICE_STATUS(struct ndr_print *ndr, const char *name,
 	ndr_print_struct(ndr, name, "SERVICE_STATUS");
 	ndr->depth++;
 	ndr_print_uint32(ndr, "type", r->type);
-	ndr_print_uint32(ndr, "state", r->state);
-	ndr_print_uint32(ndr, "controls_accepted", r->controls_accepted);
+	ndr_print_svcctl_ServiceStatus(ndr, "state", r->state);
+	ndr_print_svcctl_ControlsAccepted(ndr, "controls_accepted", r->controls_accepted);
 	ndr_print_WERROR(ndr, "win32_exit_code", r->win32_exit_code);
 	ndr_print_uint32(ndr, "service_exit_code", r->service_exit_code);
 	ndr_print_uint32(ndr, "check_point", r->check_point);
diff --git a/librpc/gen_ndr/ndr_svcctl.h b/librpc/gen_ndr/ndr_svcctl.h
index 4b47161..2d6f3ed 100644
--- a/librpc/gen_ndr/ndr_svcctl.h
+++ b/librpc/gen_ndr/ndr_svcctl.h
@@ -101,6 +101,8 @@ extern const struct ndr_interface_table ndr_table_svcctl;
 
 #define NDR_SVCCTL_CALL_COUNT (44)
 void ndr_print_SERVICE_LOCK_STATUS(struct ndr_print *ndr, const char *name, const struct SERVICE_LOCK_STATUS *r);
+void ndr_print_svcctl_ServiceStatus(struct ndr_print *ndr, const char *name, enum svcctl_ServiceStatus r);
+void ndr_print_svcctl_ControlsAccepted(struct ndr_print *ndr, const char *name, uint32_t r);
 void ndr_print_SERVICE_STATUS(struct ndr_print *ndr, const char *name, const struct SERVICE_STATUS *r);
 enum ndr_err_code ndr_push_SERVICE_STATUS_PROCESS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_STATUS_PROCESS *r);
 enum ndr_err_code ndr_pull_SERVICE_STATUS_PROCESS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_STATUS_PROCESS *r);
diff --git a/librpc/gen_ndr/svcctl.h b/librpc/gen_ndr/svcctl.h
index c36f578..c3914e5 100644
--- a/librpc/gen_ndr/svcctl.h
+++ b/librpc/gen_ndr/svcctl.h
@@ -33,9 +33,44 @@ struct SERVICE_LOCK_STATUS {
 	uint32_t lock_duration;
 };
 
+enum svcctl_ServiceStatus
+#ifndef USE_UINT_ENUMS
+ {
+	SVCCTL_STATE_UNKNOWN=0x00000000,
+	SVCCTL_STOPPED=0x00000001,
+	SVCCTL_START_PENDING=0x00000002,
+	SVCCTL_STOP_PENDING=0x00000003,
+	SVCCTL_RUNNING=0x00000004,
+	SVCCTL_CONTINUE_PENDING=0x00000005,
+	SVCCTL_PAUSE_PENDING=0x00000006,
+	SVCCTL_PAUSED=0x00000007
+}
+#else
+ { __donnot_use_enum_svcctl_ServiceStatus=0x7FFFFFFF}
+#define SVCCTL_STATE_UNKNOWN ( 0x00000000 )
+#define SVCCTL_STOPPED ( 0x00000001 )
+#define SVCCTL_START_PENDING ( 0x00000002 )
+#define SVCCTL_STOP_PENDING ( 0x00000003 )
+#define SVCCTL_RUNNING ( 0x00000004 )
+#define SVCCTL_CONTINUE_PENDING ( 0x00000005 )
+#define SVCCTL_PAUSE_PENDING ( 0x00000006 )
+#define SVCCTL_PAUSED ( 0x00000007 )
+#endif
+;
+
+/* bitmap svcctl_ControlsAccepted */
+#define SVCCTL_ACCEPT_NONE ( 0x00000000 )
+#define SVCCTL_ACCEPT_STOP ( 0x00000001 )
+#define SVCCTL_ACCEPT_PAUSE_CONTINUE ( 0x00000002 )
+#define SVCCTL_ACCEPT_SHUTDOWN ( 0x00000004 )
+#define SVCCTL_ACCEPT_PARAMCHANGE ( 0x00000008 )
+#define SVCCTL_ACCEPT_NETBINDCHANGE ( 0x00000010 )
+#define SVCCTL_ACCEPT_HARDWAREPROFILECHANGE ( 0x00000020 )
+#define SVCCTL_ACCEPT_POWEREVENT ( 0x00000040 )
+
 struct SERVICE_STATUS {
 	uint32_t type;
-	uint32_t state;
+	enum svcctl_ServiceStatus state;
 	uint32_t controls_accepted;
 	WERROR win32_exit_code;
 	uint32_t service_exit_code;
diff --git a/librpc/idl/svcctl.idl b/librpc/idl/svcctl.idl
index c70858f..f804f91 100644
--- a/librpc/idl/svcctl.idl
+++ b/librpc/idl/svcctl.idl
@@ -18,10 +18,32 @@ import "misc.idl", "security.idl";
 		uint32 lock_duration;
 	} SERVICE_LOCK_STATUS;
 
+	typedef [v1_enum] enum {
+		SVCCTL_STATE_UNKNOWN		= 0x00000000,	/* only used internally to smbd */
+		SVCCTL_STOPPED			= 0x00000001,
+		SVCCTL_START_PENDING		= 0x00000002,
+		SVCCTL_STOP_PENDING		= 0x00000003,
+		SVCCTL_RUNNING			= 0x00000004,
+		SVCCTL_CONTINUE_PENDING		= 0x00000005,
+		SVCCTL_PAUSE_PENDING		= 0x00000006,
+		SVCCTL_PAUSED			= 0x00000007
+	} svcctl_ServiceStatus;
+
+	typedef [bitmap32bit] bitmap {
+		SVCCTL_ACCEPT_NONE			= 0x00000000,
+		SVCCTL_ACCEPT_STOP			= 0x00000001,
+		SVCCTL_ACCEPT_PAUSE_CONTINUE		= 0x00000002,
+		SVCCTL_ACCEPT_SHUTDOWN			= 0x00000004,
+		SVCCTL_ACCEPT_PARAMCHANGE		= 0x00000008,
+		SVCCTL_ACCEPT_NETBINDCHANGE		= 0x00000010,
+		SVCCTL_ACCEPT_HARDWAREPROFILECHANGE	= 0x00000020,
+		SVCCTL_ACCEPT_POWEREVENT		= 0x00000040
+	} svcctl_ControlsAccepted;
+
 	typedef struct {
 		uint32 type;
-		uint32 state;
-		uint32 controls_accepted;
+		svcctl_ServiceStatus state;
+		svcctl_ControlsAccepted controls_accepted;
 		WERROR win32_exit_code;
 		uint32 service_exit_code;
 		uint32 check_point;
diff --git a/source3/include/rpc_svcctl.h b/source3/include/rpc_svcctl.h
index 5f83b19..b12cecb 100644
--- a/source3/include/rpc_svcctl.h
+++ b/source3/include/rpc_svcctl.h
@@ -45,62 +45,12 @@
 #define SVCCTL_OPEN_SCMANAGER_A			0x1b
 */
 
-/* SERVER_STATUS - type */
-
-#define SVCCTL_TYPE_WIN32		0x00000030
-#define SVCCTL_TYPE_DRIVER		0x0000000f
-
-/* SERVER_STATUS - state */
-#define SVCCTL_STATE_ACTIVE		0x00000001
-#define SVCCTL_STATE_INACTIVE		0x00000002
-#define SVCCTL_STATE_ALL		( SVCCTL_STATE_ACTIVE | SVCCTL_STATE_INACTIVE )
-
-/* SERVER_STATUS - CurrentState */
-
-#define SVCCTL_STATE_UNKNOWN		0x00000000	/* only used internally to smbd */
-#define SVCCTL_STOPPED			0x00000001
-#define SVCCTL_START_PENDING		0x00000002
-#define SVCCTL_STOP_PENDING		0x00000003
-#define SVCCTL_RUNNING			0x00000004
-#define SVCCTL_CONTINUE_PENDING		0x00000005
-#define SVCCTL_PAUSE_PENDING		0x00000006
-#define SVCCTL_PAUSED			0x00000007
-
-/* SERVER_STATUS - ControlAccepted */
-
-#define SVCCTL_ACCEPT_NONE			0x00000000
-#define SVCCTL_ACCEPT_STOP			0x00000001
-#define SVCCTL_ACCEPT_PAUSE_CONTINUE		0x00000002
-#define SVCCTL_ACCEPT_SHUTDOWN			0x00000004
-#define SVCCTL_ACCEPT_PARAMCHANGE		0x00000008
-#define SVCCTL_ACCEPT_NETBINDCHANGE		0x00000010
-#define SVCCTL_ACCEPT_HARDWAREPROFILECHANGE	0x00000020
-#define SVCCTL_ACCEPT_POWEREVENT		0x00000040
-
-/* Service Config - values for ServiceType field*/
-
-#define SVCCTL_KERNEL_DRVR                         0x00000001  /* doubtful we'll have these */
-#define SVCCTL_FILE_SYSTEM_DRVR                    0x00000002  
-#define SVCCTL_WIN32_OWN_PROC                      0x00000010
-#define SVCCTL_WIN32_SHARED_PROC                   0x00000020
-#define SVCCTL_WIN32_INTERACTIVE                   0x00000100 
-
-#define SVC_HANDLE_IS_SCM			0x0000001
-#define SVC_HANDLE_IS_SERVICE			0x0000002
-#define SVC_HANDLE_IS_DBLOCK			0x0000003
-
 /* utility structures for RPCs */
 
-/*
- * "struct SERVICE_STATUS" comes from librpc/gen_ndr/svcctl.h
- */
-
-typedef struct SERVICE_STATUS SERVICE_STATUS;
-
 typedef struct {
 	UNISTR servicename;
 	UNISTR displayname;
-	SERVICE_STATUS status;
+	struct SERVICE_STATUS status;
 } ENUM_SERVICES_STATUS;
 
 /* rpc structures */
diff --git a/source3/include/services.h b/source3/include/services.h
index 8c2a0cc..f746f0c 100644
--- a/source3/include/services.h
+++ b/source3/include/services.h
@@ -30,9 +30,9 @@
 
 typedef struct {
 	/* functions for enumerating subkeys and values */
-	WERROR 	(*stop_service)( const char *service, SERVICE_STATUS *status );
+	WERROR 	(*stop_service)( const char *service, struct SERVICE_STATUS *status );
 	WERROR 	(*start_service) ( const char *service );
-	WERROR 	(*service_status)( const char *service, SERVICE_STATUS *status );
+	WERROR 	(*service_status)( const char *service, struct SERVICE_STATUS *status );
 } SERVICE_CONTROL_OPS;
 
 /* structure to store the service handle information  */
@@ -44,5 +44,9 @@ typedef struct _ServiceInfo {
 	SERVICE_CONTROL_OPS	*ops;
 } SERVICE_INFO;
 
+#define SVC_HANDLE_IS_SCM			0x0000001
+#define SVC_HANDLE_IS_SERVICE			0x0000002
+#define SVC_HANDLE_IS_DBLOCK			0x0000003
+
 #endif /* _SERICES_H */
 
diff --git a/source3/rpc_parse/parse_svcctl.c b/source3/rpc_parse/parse_svcctl.c
index 559c654..022ece6 100644
--- a/source3/rpc_parse/parse_svcctl.c
+++ b/source3/rpc_parse/parse_svcctl.c
@@ -25,7 +25,7 @@
 /*******************************************************************
 ********************************************************************/
 
-static bool svcctl_io_service_status( const char *desc, SERVICE_STATUS *status, prs_struct *ps, int depth )
+static bool svcctl_io_service_status( const char *desc, struct SERVICE_STATUS *status, prs_struct *ps, int depth )
 {
 
 	prs_debug(ps, depth, desc, "svcctl_io_service_status");
@@ -85,7 +85,7 @@ uint32 svcctl_sizeof_enum_services_status( ENUM_SERVICES_STATUS *status )
 	
 	size += size_of_relative_string( &status->servicename );
 	size += size_of_relative_string( &status->displayname );
-	size += sizeof(SERVICE_STATUS);
+	size += sizeof(struct SERVICE_STATUS);
 
 	return size;
 }
diff --git a/source3/rpc_server/srv_svcctl_nt.c b/source3/rpc_server/srv_svcctl_nt.c
index 457e44a..56cbc81 100644
--- a/source3/rpc_server/srv_svcctl_nt.c
+++ b/source3/rpc_server/srv_svcctl_nt.c
@@ -6,7 +6,7 @@
  *
  *  Largely Rewritten (Again) by:
  *  Copyright (C) Gerald (Jerry) Carter             2005.
- *  Copyright (C) Guenther Deschner                 2008.
+ *  Copyright (C) Guenther Deschner                 2008,2009.
  *
  *  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
@@ -257,6 +257,7 @@ done:
 }
 
 /********************************************************************
+ _svcctl_OpenSCManagerW
 ********************************************************************/
 
 WERROR _svcctl_OpenSCManagerW(pipes_struct *p,
@@ -319,9 +320,11 @@ WERROR _svcctl_OpenServiceW(pipes_struct *p,
 }
 
 /********************************************************************
+ _svcctl_CloseServiceHandle
 ********************************************************************/
 
-WERROR _svcctl_CloseServiceHandle(pipes_struct *p, struct svcctl_CloseServiceHandle *r)
+WERROR _svcctl_CloseServiceHandle(pipes_struct *p,
+				  struct svcctl_CloseServiceHandle *r)
 {
 	if ( !close_policy_hnd( p, r->in.handle ) )
 		return  WERR_BADFID;
@@ -650,7 +653,7 @@ static WERROR fill_svc_config( TALLOC_CTX *ctx, const char *name,
 	/* loadordergroup and dependencies are empty */
 
 	config->tag_id           = 0x00000000;			/* unassigned loadorder group */
-	config->service_type     = SVCCTL_WIN32_OWN_PROC;
+	config->service_type     = SERVICE_TYPE_WIN32_OWN_PROCESS;
 	config->error_control    = SVCCTL_SVC_ERROR_NORMAL;
 
 	/* set the start type.  NetLogon and WINS are disabled to prevent
diff --git a/source3/services/services_db.c b/source3/services/services_db.c
index dbd2da1..e415248 100644
--- a/source3/services/services_db.c
+++ b/source3/services/services_db.c
@@ -260,7 +260,7 @@ static void fill_service_values( const char *name, REGVAL_CTR *values )
 	dword = SVCCTL_AUTO_START;
 	regval_ctr_addvalue( values, "Start", REG_DWORD, (char*)&dword, sizeof(uint32));
 
-	dword = SVCCTL_WIN32_OWN_PROC;
+	dword = SERVICE_TYPE_WIN32_OWN_PROCESS;
 	regval_ctr_addvalue( values, "Type", REG_DWORD, (char*)&dword, sizeof(uint32));
 
 	dword = SVCCTL_SVC_ERROR_NORMAL;
diff --git a/source3/services/svc_netlogon.c b/source3/services/svc_netlogon.c
index c5a5385..2745695 100644
--- a/source3/services/svc_netlogon.c
+++ b/source3/services/svc_netlogon.c
@@ -24,7 +24,7 @@
 /*********************************************************************
 *********************************************************************/
 
-static WERROR netlogon_status( const char *service, SERVICE_STATUS *service_status )
+static WERROR netlogon_status( const char *service, struct SERVICE_STATUS *service_status )
 {
 	ZERO_STRUCTP( service_status );
 
@@ -44,7 +44,7 @@ static WERROR netlogon_status( const char *service, SERVICE_STATUS *service_stat
 /*********************************************************************
 *********************************************************************/
 
-static WERROR netlogon_stop( const char *service, SERVICE_STATUS *service_status )
+static WERROR netlogon_stop( const char *service, struct SERVICE_STATUS *service_status )
 {
 	netlogon_status( service, service_status );
 
diff --git a/source3/services/svc_rcinit.c b/source3/services/svc_rcinit.c
index 3d9e667..5e9a546 100644
--- a/source3/services/svc_rcinit.c
+++ b/source3/services/svc_rcinit.c
@@ -22,7 +22,7 @@
 /*********************************************************************
 *********************************************************************/
 
-static WERROR rcinit_stop( const char *service, SERVICE_STATUS *status )
+static WERROR rcinit_stop( const char *service, struct SERVICE_STATUS *status )
 {
 	char *command = NULL;
 	int ret, fd;
@@ -81,7 +81,7 @@ static WERROR rcinit_start( const char *service )
 /*********************************************************************
 *********************************************************************/
 
-static WERROR rcinit_status( const char *service, SERVICE_STATUS *status )
+static WERROR rcinit_status( const char *service, struct SERVICE_STATUS *status )
 {
 	char *command = NULL;
 	int ret, fd;
diff --git a/source3/services/svc_spoolss.c b/source3/services/svc_spoolss.c
index 9d4113c..3bf6592 100644
--- a/source3/services/svc_spoolss.c
+++ b/source3/services/svc_spoolss.c
@@ -24,7 +24,7 @@
 /*********************************************************************
 *********************************************************************/
 
-static WERROR spoolss_stop( const char *service, SERVICE_STATUS *service_status )
+static WERROR spoolss_stop( const char *service, struct SERVICE_STATUS *service_status )
 {
 	ZERO_STRUCTP( service_status );
 	
@@ -57,7 +57,7 @@ static WERROR spoolss_start( const char *service )
 /*********************************************************************
 *********************************************************************/
 
-static WERROR spoolss_status( const char *service, SERVICE_STATUS *service_status )
+static WERROR spoolss_status( const char *service, struct SERVICE_STATUS *service_status )
 {
 	ZERO_STRUCTP( service_status );
 
diff --git a/source3/services/svc_winreg.c b/source3/services/svc_winreg.c
index 09d25f4..4976e6d 100644
--- a/source3/services/svc_winreg.c
+++ b/source3/services/svc_winreg.c
@@ -24,7 +24,7 @@
 /*********************************************************************
 *********************************************************************/
 
-static WERROR winreg_stop( const char *service, SERVICE_STATUS *service_status )
+static WERROR winreg_stop( const char *service, struct SERVICE_STATUS *service_status )
 {
 	return WERR_ACCESS_DENIED;
 }
@@ -40,7 +40,7 @@ static WERROR winreg_start( const char *service )
 /*********************************************************************
 *********************************************************************/
 
-static WERROR winreg_status( const char *service, SERVICE_STATUS *service_status )
+static WERROR winreg_status( const char *service, struct SERVICE_STATUS *service_status )
 {
 	ZERO_STRUCTP( service_status );
 
diff --git a/source3/services/svc_wins.c b/source3/services/svc_wins.c
index c9ef5e5..d0b5052 100644
--- a/source3/services/svc_wins.c
+++ b/source3/services/svc_wins.c
@@ -24,7 +24,7 @@
 /*********************************************************************
 *********************************************************************/
 
-static WERROR wins_status( const char *service, SERVICE_STATUS *service_status )
+static WERROR wins_status( const char *service, struct SERVICE_STATUS *service_status )
 {
 	ZERO_STRUCTP( service_status );
 
@@ -44,7 +44,7 @@ static WERROR wins_status( const char *service, SERVICE_STATUS *service_status )
 /*********************************************************************
 *********************************************************************/
 
-static WERROR wins_stop( const char *service, SERVICE_STATUS *service_status )
+static WERROR wins_stop( const char *service, struct SERVICE_STATUS *service_status )
 {
 	wins_status( service, service_status );
 
diff --git a/source3/utils/net_rpc_service.c b/source3/utils/net_rpc_service.c
index 7d1c486..3186b8c 100644
--- a/source3/utils/net_rpc_service.c
+++ b/source3/utils/net_rpc_service.c
@@ -66,7 +66,7 @@ static WERROR query_service_state(struct rpc_pipe_client *pipe_hnd,
 				uint32 *state )
 {
 	POLICY_HND hService;
-	SERVICE_STATUS service_status;
+	struct SERVICE_STATUS service_status;
 	WERROR result = WERR_GENERAL_FAILURE;
 	NTSTATUS status;
 
@@ -145,7 +145,7 @@ static WERROR control_service(struct rpc_pipe_client *pipe_hnd,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list