[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