summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-01-06 07:34:14 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:08:27 -0500
commitd62a44c447c2754948448ae618c75d29a6b8d89e (patch)
tree182837b738a35bd2abe8b3fa1e47c3e0e316c594 /source4/librpc
parent66af8726e525d6978936d5e950b0e4c3af66c86c (diff)
downloadsamba-d62a44c447c2754948448ae618c75d29a6b8d89e.tar.gz
samba-d62a44c447c2754948448ae618c75d29a6b8d89e.tar.bz2
samba-d62a44c447c2754948448ae618c75d29a6b8d89e.zip
r4558: more use of bitmaps and enums
metze (This used to be commit 2a859fbc90a6b043bac318196e42c2949958d57f)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/srvsvc.idl51
-rw-r--r--source4/librpc/idl/wkssvc.idl10
2 files changed, 40 insertions, 21 deletions
diff --git a/source4/librpc/idl/srvsvc.idl b/source4/librpc/idl/srvsvc.idl
index aea5c686a2..8abc67d076 100644
--- a/source4/librpc/idl/srvsvc.idl
+++ b/source4/librpc/idl/srvsvc.idl
@@ -8,9 +8,11 @@
version(3.0),
pointer_default(unique),
helpstring("Server Service"),
- depends(security)
+ depends(security,svcctl)
] interface srvsvc
{
+ declare bitmap svcctl_ServerType;
+
/**************************/
/* srvsvc_NetCharDev */
/**************************/
@@ -374,12 +376,23 @@
/**************************/
/* share types */
- const int STYPE_DISKTREE = 0;
- const int STYPE_PRINTQ = 1;
- const int STYPE_DEVICE = 2; /* Serial device */
- const int STYPE_IPC = 3; /* Interprocess communication (IPC) */
- const int STYPE_TEMPORARY= 0x40000000; /* share is a temporary one */
- const int STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
+ const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
+ const uint32 STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
+
+ typedef [v1_enum, flag(NDR_PAHEX)] enum {
+ STYPE_DISKTREE = 0,
+ STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
+ STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
+ STYPE_PRINTQ = 1,
+ STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
+ STYPE_PRINTQ_HIDDEN = STYPE_PRINTQ|STYPE_HIDDEN,
+ STYPE_DEVICE = 2, /* Serial device */
+ STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
+ STYPE_DEVICE_HIDDEN = STYPE_DEVICE|STYPE_HIDDEN,
+ STYPE_IPC = 3, /* Interprocess communication (IPC) */
+ STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
+ STYPE_IPC_HIDDEN = STYPE_IPC|STYPE_HIDDEN
+ } srvsvc_ShareType;
typedef struct {
unistr *name;
@@ -392,7 +405,7 @@
typedef struct {
unistr *name;
- uint32 type;
+ srvsvc_ShareType type;
unistr *comment;
} srvsvc_NetShareInfo1;
@@ -403,7 +416,7 @@
typedef struct {
unistr *name;
- uint32 type;
+ srvsvc_ShareType type;
unistr *comment;
uint32 permissions;
uint32 max_users;
@@ -419,7 +432,7 @@
typedef struct {
unistr *name;
- uint32 type;
+ srvsvc_ShareType type;
unistr *comment;
uint32 csc_policy;
} srvsvc_NetShareInfo501;
@@ -431,7 +444,7 @@
typedef struct {
unistr *name;
- uint32 type;
+ srvsvc_ShareType type;
unistr *comment;
uint32 permissions;
int32 max_users;
@@ -546,32 +559,36 @@
WERROR srvsvc_NetShareCheck(
[in] unistr *server_unc,
[in] unistr device_name,
- [out] uint32 type
+ [out] srvsvc_ShareType type
);
/**************************/
/* srvsvc_NetSrv */
/**************************/
+ typedef [public] enum {
+ PLATFORM_ID_NT = 500
+ } srvsvc_PlatformId;
+
typedef struct {
- uint32 platform_id;
+ srvsvc_PlatformId platform_id;
unistr *server_name;
} srvsvc_NetSrvInfo100;
typedef struct {
- uint32 platform_id;
+ srvsvc_PlatformId platform_id;
unistr *server_name;
uint32 version_major;
uint32 version_minor;
- uint32 server_type;
+ svcctl_ServerType server_type;
unistr *comment;
} srvsvc_NetSrvInfo101;
typedef struct {
- uint32 platform_id;
+ srvsvc_PlatformId platform_id;
unistr *server_name;
uint32 ver_major;
uint32 ver_minor;
- uint32 server_type;
+ svcctl_ServerType server_type;
unistr *comment;
uint32 users;
uint32 disc;
diff --git a/source4/librpc/idl/wkssvc.idl b/source4/librpc/idl/wkssvc.idl
index 578df3b3aa..318f7ce05b 100644
--- a/source4/librpc/idl/wkssvc.idl
+++ b/source4/librpc/idl/wkssvc.idl
@@ -7,9 +7,11 @@
[ uuid("6bffd098-a112-3610-9833-46c3f87e345a"),
version(1.0),
pointer_default(unique),
- helpstring("Workstation Service")
+ helpstring("Workstation Service"),
+ depends(srvsvc)
] interface wkssvc
{
+ declare enum srvsvc_PlatformId;
#define BOOL uint32
@@ -17,7 +19,7 @@
/* Function: 0x00 */
typedef struct {
- uint32 platform_id;
+ srvsvc_PlatformId platform_id;
unistr *server_name;
unistr *domain_name;
uint32 version_major;
@@ -25,7 +27,7 @@
} wkssvc_NetWkstaInfo100;
typedef struct {
- uint32 platform_id;
+ srvsvc_PlatformId platform_id;
unistr *server_name;
unistr *domain_name;
uint32 version_major;
@@ -34,7 +36,7 @@
} wkssvc_NetWkstaInfo101;
typedef struct {
- uint32 platform_id;
+ srvsvc_PlatformId platform_id;
unistr *server_name;
unistr *domain_name;
uint32 version_major;