summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-03-24 16:11:23 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:56:17 -0500
commit259d44dbb2c2239339f6888fd5da12632abcbb28 (patch)
tree89c120869821b3b9ee040c1b5c1b404d6c53f56f /source3/include
parent987fd2ed97b91804646b8d93fff37d7f2efa6bab (diff)
downloadsamba-259d44dbb2c2239339f6888fd5da12632abcbb28.tar.gz
samba-259d44dbb2c2239339f6888fd5da12632abcbb28.tar.bz2
samba-259d44dbb2c2239339f6888fd5da12632abcbb28.zip
r6038: adding more flesh to 'net rpc service'
open and close the service control manager. Also experimenting with ideas for cli_xxx() interface. (This used to be commit 4da89ef17b8c4644b97b923cebfe8e446b508b4d)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/rpc_secdes.h47
-rw-r--r--source3/include/rpc_svcctl.h8
2 files changed, 50 insertions, 5 deletions
diff --git a/source3/include/rpc_secdes.h b/source3/include/rpc_secdes.h
index 3e4c47dce9..ea987f9e4e 100644
--- a/source3/include/rpc_secdes.h
+++ b/source3/include/rpc_secdes.h
@@ -472,4 +472,51 @@ typedef struct standard_mapping {
(STANDARD_RIGHTS_EXECUTE_ACCESS | \
SA_RIGHT_ALIAS_LOOKUP_INFO ) /* 0x00020008 */
+/*
+ * Acces bits for the svcctl objects
+ */
+
+/* Service Control Manager Bits */
+
+#define SC_RIGHT_MGR_CONNECT 0x0001
+#define SC_RIGHT_MGR_CREATE_SERVICE 0x0002
+#define SC_RIGHT_MGR_ENUMERATE_SERVICE 0x0004
+#define SC_RIGHT_MGR_LOCK 0x0008
+#define SC_RIGHT_MGR_QUERY_LOCK_STATUS 0x0010
+#define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG 0x0020
+
+#define SC_MANAGER_ALL_ACCESS \
+ ( STANDARD_RIGHTS_REQUIRED_ACCESS | \
+ SC_RIGHT_MGR_CONNECT | \
+ SC_RIGHT_MGR_CREATE_SERVICE | \
+ SC_RIGHT_MGR_ENUMERATE_SERVICE | \
+ SC_RIGHT_MGR_LOCK | \
+ SC_RIGHT_MGR_QUERY_LOCK_STATUS | \
+ SC_RIGHT_MGR_MODIFY_BOOT_CONFIG )
+
+/* Service Object Bits */
+
+#define SC_RIGHT_SVC_QUERY_CONFIG 0x0001
+#define SC_RIGHT_SVC_CHANGE_CONFIG 0x0002
+#define SC_RIGHT_SVC_QUERY_STATUS 0x0004
+#define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS 0x0008
+#define SC_RIGHT_SVC_START 0x0010
+#define SC_RIGHT_SVC_STOP 0x0020
+#define SC_RIGHT_SVC_PAUSE_CONTINUE 0x0040
+#define SC_RIGHT_SVC_INTERROGATE 0x0080
+#define SC_RIGHT_SVC_USER_DEFINED_CONTROL 0x0100
+
+#define SERVICE_ALL_ACCESS \
+ ( STANDARD_RIGHTS_REQUIRED_ACCESS | \
+ SC_RIGHT_SVC_QUERY_CONFIG | \
+ SC_RIGHT_SVC_CHANGE_CONFIG | \
+ SC_RIGHT_SVC_QUERY_STATUS | \
+ SC_RIGHT_SVC_ENUMERATE_DEPENDENTS | \
+ SC_RIGHT_SVC_START | \
+ SC_RIGHT_SVC_STOP | \
+ SC_RIGHT_SVC_PAUSE_CONTINUE | \
+ SC_RIGHT_SVC_INTERROGATE | \
+ SC_RIGHT_SVC_USER_DEFINED_CONTROL )
+
+
#endif /* _RPC_SECDES_H */
diff --git a/source3/include/rpc_svcctl.h b/source3/include/rpc_svcctl.h
index 8006ea0091..55b7828d35 100644
--- a/source3/include/rpc_svcctl.h
+++ b/source3/include/rpc_svcctl.h
@@ -119,11 +119,9 @@ typedef struct {
/**************************/
typedef struct {
- uint32 ptr_srv;
- UNISTR2 servername;
- uint32 ptr_db;
- UNISTR2 database;
- uint32 access_mask;
+ UNISTR2 *servername;
+ UNISTR2 *database;
+ uint32 access;
} SVCCTL_Q_OPEN_SCMANAGER;
typedef struct {