svn commit: samba r4558 - in branches/SAMBA_4_0/source: librpc/idl
rpc_server/common
metze at samba.org
metze at samba.org
Thu Jan 6 07:34:15 GMT 2005
Author: metze
Date: 2005-01-06 07:34:14 +0000 (Thu, 06 Jan 2005)
New Revision: 4558
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4558
Log:
more use of bitmaps and enums
metze
Modified:
branches/SAMBA_4_0/source/librpc/idl/srvsvc.idl
branches/SAMBA_4_0/source/librpc/idl/wkssvc.idl
branches/SAMBA_4_0/source/rpc_server/common/server_info.c
branches/SAMBA_4_0/source/rpc_server/common/share_info.c
Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/srvsvc.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/srvsvc.idl 2005-01-06 07:29:55 UTC (rev 4557)
+++ branches/SAMBA_4_0/source/librpc/idl/srvsvc.idl 2005-01-06 07:34:14 UTC (rev 4558)
@@ -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,13 +376,24 @@
/**************************/
/* 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;
} srvsvc_NetShareInfo0;
@@ -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;
Modified: branches/SAMBA_4_0/source/librpc/idl/wkssvc.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/wkssvc.idl 2005-01-06 07:29:55 UTC (rev 4557)
+++ branches/SAMBA_4_0/source/librpc/idl/wkssvc.idl 2005-01-06 07:34:14 UTC (rev 4558)
@@ -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;
Modified: branches/SAMBA_4_0/source/rpc_server/common/server_info.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/common/server_info.c 2005-01-06 07:29:55 UTC (rev 4557)
+++ branches/SAMBA_4_0/source/rpc_server/common/server_info.c 2005-01-06 07:34:14 UTC (rev 4558)
@@ -21,15 +21,20 @@
*/
#include "includes.h"
+#include "librpc/gen_ndr/ndr_srvsvc.h"
/*
Here are common server info functions used by some dcerpc server interfaces
*/
/* This hardcoded value should go into a ldb database! */
-uint32_t dcesrv_common_get_platform_id(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
+enum srvsvc_PlatformId dcesrv_common_get_platform_id(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
{
- return lp_parm_int(-1, "server_info", "platform_id", 500);
+ enum srvsvc_PlatformId id;
+
+ id = lp_parm_int(-1, "server_info", "platform_id", PLATFORM_ID_NT);
+
+ return id;
}
const char *dcesrv_common_get_server_name(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, const char *server_unc)
Modified: branches/SAMBA_4_0/source/rpc_server/common/share_info.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/common/share_info.c 2005-01-06 07:29:55 UTC (rev 4557)
+++ branches/SAMBA_4_0/source/rpc_server/common/share_info.c 2005-01-06 07:34:14 UTC (rev 4558)
@@ -63,7 +63,7 @@
}
/* This hardcoded value should go into a ldb database! */
-uint32_t dcesrv_common_get_share_type(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
+enum srvsvc_ShareType dcesrv_common_get_share_type(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
{
/* for disk share 0x00000000
* for print share 0x00000001
@@ -73,7 +73,7 @@
* ADMIN$, IPC$, C$, D$, E$ ... are type |= 0x80000000
* this ones are hidden in NetShareEnum, but shown in NetShareEnumAll
*/
- uint32_t share_type = 0;
+ enum srvsvc_ShareType share_type = 0;
if (!lp_browseable(snum)) {
share_type |= STYPE_HIDDEN;
More information about the samba-cvs
mailing list