1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-24 10:50:22 +03:00

Move shared DCE/RPC IDL files to root IDL dir.

This commit is contained in:
Jelmer Vernooij 2008-10-15 01:23:36 +02:00
parent 7f24027e02
commit 45f97c4614
35 changed files with 3 additions and 2279 deletions

View File

@ -364,7 +364,7 @@ NDR_WINBIND_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winbind.o
#PUBLIC_HEADERS += $(gen_ndrsrcdir)/winbind.h
$(librpcsrcdir)/idl-deps:
$(PERL) $(librpcsrcdir)/idl-deps.pl $(librpcsrcdir)/idl/*.idl >$@
$(PERL) $(librpcsrcdir)/idl-deps.pl $(librpcsrcdir)/idl/*.idl ../librpc/idl/*.idl >$@
clean::
rm -f $(librpcsrcdir)/idl-deps
@ -745,9 +745,9 @@ $(IDL_HEADER_FILES) $(IDL_NDR_PARSE_H_FILES) $(IDL_NDR_PARSE_C_FILES) \
$(IDL_NDR_PY_C_FILES) $(IDL_NDR_PY_H_FILES): idl
idl_full:: $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/lib/Parse/Pidl/Expr.pm
@CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh FULL $(librpcsrcdir)/gen_ndr $(librpcsrcdir)/idl/*.idl
@CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh FULL $(librpcsrcdir)/gen_ndr $(librpcsrcdir)/idl/*.idl ../librpc/idl/*.idl
idl:: $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/lib/Parse/Pidl/Expr.pm
@CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh PARTIAL $(librpcsrcdir)/gen_ndr $(librpcsrcdir)/idl/*.idl
@CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh PARTIAL $(librpcsrcdir)/gen_ndr $(librpcsrcdir)/idl/*.idl ../librpc/idl/*.idl

View File

@ -1,419 +0,0 @@
/*
dfs interface definition
*/
import "misc.idl";
[ uuid("4fc742e0-4a10-11cf-8273-00aa004ae673"),
version(3.0),
pointer_default(unique),
helpstring("Settings for Microsoft Distributed File System"),
endpoint("ncacn_np:[\\pipe\\netdfs]", "ncacn_ip_tcp:", "ncalrpc:")
] interface netdfs
{
/******************/
/* Function: 0x00 */
typedef [v1_enum] enum {
DFS_MANAGER_VERSION_NT4 = 1,
DFS_MANAGER_VERSION_W2K = 2,
DFS_MANAGER_VERSION_W2K3 = 4,
DFS_MANAGER_VERSION_W2K8 = 6
} dfs_ManagerVersion;
[public] void dfs_GetManagerVersion(
[out] dfs_ManagerVersion *version
);
/******************/
/* Function: 0x01 */
WERROR dfs_Add (
[in] [string,charset(UTF16)] uint16 *path,
[in] [string,charset(UTF16)] uint16 *server,
[in,unique] [string,charset(UTF16)] uint16 *share,
[in,unique] [string,charset(UTF16)] uint16 *comment,
[in] uint32 flags
);
/******************/
/* Function: 0x02 */
WERROR dfs_Remove (
[in] [string,charset(UTF16)] uint16 *dfs_entry_path,
[in,unique] [string,charset(UTF16)] uint16 *servername,
[in,unique] [string,charset(UTF16)] uint16 *sharename
);
/******************/
/* Function: 0x03 */
typedef struct {
} dfs_Info0;
typedef struct {
[string,charset(UTF16)] uint16 *path;
} dfs_Info1;
typedef [public,bitmap32bit] bitmap {
DFS_VOLUME_STATE_OK = 0x1,
DFS_VOLUME_STATE_INCONSISTENT = 0x2,
DFS_VOLUME_STATE_OFFLINE = 0x3,
DFS_VOLUME_STATE_ONLINE = 0x4,
DFS_VOLUME_STATE_STANDALONE = DFS_VOLUME_FLAVOR_STANDALONE,
DFS_VOLUME_STATE_AD_BLOB = DFS_VOLUME_FLAVOR_AD_BLOB
} dfs_VolumeState;
typedef struct {
[string,charset(UTF16)] uint16 *path;
[string,charset(UTF16)] uint16 *comment;
dfs_VolumeState state;
uint32 num_stores;
} dfs_Info2;
const int DFS_STORAGE_STATES = 0xf;
/* yes, this is a bitmap */
typedef [public,bitmap32bit] bitmap {
DFS_STORAGE_STATE_OFFLINE = 1,
DFS_STORAGE_STATE_ONLINE = 2,
DFS_STORAGE_STATE_ACTIVE = 4
} dfs_StorageState;
typedef struct {
dfs_StorageState state;
[string,charset(UTF16)] uint16 *server;
[string,charset(UTF16)] uint16 *share;
} dfs_StorageInfo;
typedef struct {
[string,charset(UTF16)] uint16 *path;
[string,charset(UTF16)] uint16 *comment;
dfs_VolumeState state;
uint32 num_stores;
[size_is(num_stores)] dfs_StorageInfo *stores;
} dfs_Info3;
typedef struct {
[string,charset(UTF16)] uint16 *path;
[string,charset(UTF16)] uint16 *comment;
dfs_VolumeState state;
uint32 timeout;
GUID guid;
uint32 num_stores;
[size_is(num_stores)] dfs_StorageInfo *stores;
} dfs_Info4;
/* verified with dfsutil */
typedef [public,bitmap32bit] bitmap {
DFS_PROPERTY_FLAG_INSITE_REFERRALS = 0x01,
DFS_PROPERTY_FLAG_ROOT_SCALABILITY = 0x02,
DFS_PROPERTY_FLAG_SITE_COSTING = 0x04,
DFS_PROPERTY_FLAG_TARGET_FAILBACK = 0x08,
DFS_PROPERTY_FLAG_CLUSTER_ENABLED = 0x10 /* untested */
} dfs_PropertyFlags;
typedef struct {
[string,charset(UTF16)] uint16 *path;
[string,charset(UTF16)] uint16 *comment;
dfs_VolumeState state;
uint32 timeout;
GUID guid;
dfs_PropertyFlags flags;
uint32 pktsize;
uint32 num_stores;
} dfs_Info5;
typedef [v1_enum] enum {
DFS_INVALID_PRIORITY_CLASS = -1,
DFS_SITE_COST_NORMAL_PRIORITY_CLASS = 0,
DFS_GLOBAL_HIGH_PRIORITY_CLASS = 1,
DFS_SITE_COST_HIGH_PRIORITY_CLASS = 2,
DFS_SITE_COST_LOW_PRIORITY_CLASS = 3,
DFS_GLOBAL_LOW_PRIORITY_CLASS = 4
} dfs_Target_PriorityClass;
typedef struct {
dfs_Target_PriorityClass target_priority_class;
uint16 target_priority_rank;
uint16 reserved;
} dfs_Target_Priority;
typedef struct {
dfs_StorageInfo info;
dfs_Target_Priority target_priority;
} dfs_StorageInfo2;
typedef struct {
[string,charset(UTF16)] uint16 *entry_path;
[string,charset(UTF16)] uint16 *comment;
dfs_VolumeState state;
uint32 timeout;
GUID guid;
dfs_PropertyFlags flags;
uint32 pktsize;
uint16 num_stores;
[size_is(num_stores)] dfs_StorageInfo2 *stores;
} dfs_Info6;
typedef struct {
GUID generation_guid;
} dfs_Info7;
typedef struct {
[string,charset(UTF16)] uint16 *comment;
} dfs_Info100;
typedef struct {
dfs_StorageState state;
} dfs_Info101;
typedef struct {
uint32 timeout;
} dfs_Info102;
typedef struct {
dfs_PropertyFlags flags;
} dfs_Info103;
typedef struct {
dfs_Target_Priority priority;
} dfs_Info104;
typedef struct {
[string,charset(UTF16)] uint16 *comment;
dfs_VolumeState state;
uint32 timeout;
uint32 property_flag_mask;
uint32 property_flags;
} dfs_Info105;
typedef struct {
dfs_StorageState state;
dfs_Target_Priority priority;
} dfs_Info106;
typedef struct {
[string,charset(UTF16)] uint16 *dom_root;
} dfs_Info200;
typedef enum {
DFS_VOLUME_FLAVOR_STANDALONE = 0x100,
DFS_VOLUME_FLAVOR_AD_BLOB = 0x200
} dfs_VolumeFlavor;
typedef struct {
dfs_VolumeFlavor flavor;
[string,charset(UTF16)] uint16 *dom_root;
} dfs_Info300;
typedef union {
[case(0)] dfs_Info0 *info0;
[case(1)] dfs_Info1 *info1;
[case(2)] dfs_Info2 *info2;
[case(3)] dfs_Info3 *info3;
[case(4)] dfs_Info4 *info4;
[case(5)] dfs_Info5 *info5;
[case(6)] dfs_Info6 *info6;
[case(7)] dfs_Info7 *info7;
[case(100)] dfs_Info100 *info100;
[case(101)] dfs_Info101 *info101;
[case(102)] dfs_Info102 *info102;
[case(103)] dfs_Info103 *info103;
[case(104)] dfs_Info104 *info104;
[case(105)] dfs_Info105 *info105;
[case(106)] dfs_Info106 *info106;
} dfs_Info;
WERROR dfs_SetInfo (
[in] [string,charset(UTF16)] uint16 dfs_entry_path[],
[in,unique] [string,charset(UTF16)] uint16 *servername,
[in,unique] [string,charset(UTF16)] uint16 *sharename,
[in] uint32 level,
[in,ref,switch_is(level)] dfs_Info *info
);
/******************/
/* Function: 0x04 */
WERROR dfs_GetInfo (
[in] [string,charset(UTF16)] uint16 dfs_entry_path[],
[in,unique] [string,charset(UTF16)] uint16 *servername,
[in,unique] [string,charset(UTF16)] uint16 *sharename,
[in] uint32 level,
[out,switch_is(level)] dfs_Info *info
);
/******************/
/* Function: 0x05 */
typedef struct {
uint32 count;
[size_is(count)] dfs_Info1 *s;
} dfs_EnumArray1;
typedef struct {
uint32 count;
[size_is(count)] dfs_Info2 *s;
} dfs_EnumArray2;
typedef struct {
uint32 count;
[size_is(count)] dfs_Info3 *s;
} dfs_EnumArray3;
typedef struct {
uint32 count;
[size_is(count)] dfs_Info4 *s;
} dfs_EnumArray4;
typedef struct {
uint32 count;
[size_is(count)] dfs_Info5 *s;
} dfs_EnumArray5;
typedef struct {
uint32 count;
[size_is(count)] dfs_Info6 *s;
} dfs_EnumArray6;
typedef struct {
uint32 count;
[size_is(count)] dfs_Info200 *s;
} dfs_EnumArray200;
typedef struct {
uint32 count;
[size_is(count)] dfs_Info300 *s;
} dfs_EnumArray300;
typedef union {
[case(1)] dfs_EnumArray1 *info1;
[case(2)] dfs_EnumArray2 *info2;
[case(3)] dfs_EnumArray3 *info3;
[case(4)] dfs_EnumArray4 *info4;
[case(5)] dfs_EnumArray5 *info5;
[case(6)] dfs_EnumArray6 *info6;
[case(200)] dfs_EnumArray200 *info200;
[case(300)] dfs_EnumArray300 *info300;
} dfs_EnumInfo;
typedef struct {
uint32 level;
[switch_is(level)] dfs_EnumInfo e;
} dfs_EnumStruct;
WERROR dfs_Enum (
[in] uint32 level,
[in] uint32 bufsize,
[in,out,unique] dfs_EnumStruct *info,
[in,out,unique] uint32 *total
);
/* Function 0x06 */
[todo] WERROR dfs_Rename();
/* Function 0x07 */
[todo] WERROR dfs_Move();
/* Function 0x08 */
[todo] WERROR dfs_ManagerGetConfigInfo();
/* Function 0x09 */
[todo] WERROR dfs_ManagerSendSiteInfo();
/* Function 0x0a */
typedef struct {
uint32 unknown1;
[string,charset(UTF16)] uint16 *unknown2;
} dfs_UnknownStruct;
WERROR dfs_AddFtRoot(
[in] [string,charset(UTF16)] uint16 servername[],
[in] [string,charset(UTF16)] uint16 dns_servername[],
[in] [string,charset(UTF16)] uint16 dfsname[],
[in] [string,charset(UTF16)] uint16 rootshare[],
[in] [string,charset(UTF16)] uint16 comment[],
[in] [string,charset(UTF16)] uint16 dfs_config_dn[],
[in] uint8 unknown1,
[in] uint32 flags,
[in,out,unique] dfs_UnknownStruct **unknown2
);
/* Function 0x0b */
WERROR dfs_RemoveFtRoot(
[in] [string,charset(UTF16)] uint16 servername[],
[in] [string,charset(UTF16)] uint16 dns_servername[],
[in] [string,charset(UTF16)] uint16 dfsname[],
[in] [string,charset(UTF16)] uint16 rootshare[],
[in] uint32 flags,
[in,out,unique] dfs_UnknownStruct **unknown
);
/* Function 0x0c */
WERROR dfs_AddStdRoot(
[in] [string,charset(UTF16)] uint16 servername[],
[in] [string,charset(UTF16)] uint16 rootshare[],
[in] [string,charset(UTF16)] uint16 comment[],
[in] uint32 flags
);
/* Function 0x0d */
WERROR dfs_RemoveStdRoot(
[in] [string,charset(UTF16)] uint16 servername[],
[in] [string,charset(UTF16)] uint16 rootshare[],
[in] uint32 flags
);
/* Function 0x0e */
WERROR dfs_ManagerInitialize(
[in] [string,charset(UTF16)] uint16 *servername,
[in] uint32 flags
);
/* Function 0x0f */
WERROR dfs_AddStdRootForced(
[in] [string,charset(UTF16)] uint16 servername[],
[in] [string,charset(UTF16)] uint16 rootshare[],
[in] [string,charset(UTF16)] uint16 comment[],
[in] [string,charset(UTF16)] uint16 store[] /* C:\\whatever */
);
/* Function 0x10 */
WERROR dfs_GetDcAddress(
[in] [string,charset(UTF16)] uint16 servername[],
[in,out,ref] [string,charset(UTF16)] uint16 **server_fullname,
[in,out,ref] boolean8 *is_root,
[in,out,ref] uint32 *ttl
);
/* Function 0x11 */
WERROR dfs_SetDcAddress(
[in] [string,charset(UTF16)] uint16 servername[],
[in] [string,charset(UTF16)] uint16 server_fullname[],
[in] uint32 flags,
[in] uint32 ttl
);
/* Function 0x12 */
WERROR dfs_FlushFtTable(
[in] [string,charset(UTF16)] uint16 servername[],
[in] [string,charset(UTF16)] uint16 rootshare[]
);
/* Function 0x13 */
[todo] WERROR dfs_Add2();
/* Function 0x14 */
[todo] WERROR dfs_Remove2();
/* Function 0x15 */
[public] WERROR dfs_EnumEx(
[in] [string,charset(UTF16)] uint16 dfs_name[],
[in] uint32 level,
[in] uint32 bufsize,
[in,out,unique] dfs_EnumStruct *info,
[in,out,unique] uint32 *total
);
/* Function 0x16 */
[todo] WERROR dfs_SetInfo2();
}

View File

@ -1,101 +0,0 @@
/*
dssetup interface definition
*/
import "misc.idl";
[
uuid("3919286a-b10c-11d0-9ba8-00c04fd92ef5"),
version(0.0),
endpoint("ncacn_np:[\\pipe\\lsarpc]", "ncacn_np:[\\pipe\\lsass]", "ncacn_ip_tcp:", "ncalrpc:"),
pointer_default(unique),
helpstring("Active Directory Setup")
] interface dssetup
{
/**********************************************/
/* Function 0x00 */
typedef enum {
DS_ROLE_STANDALONE_WORKSTATION = 0,
DS_ROLE_MEMBER_WORKSTATION = 1,
DS_ROLE_STANDALONE_SERVER = 2,
DS_ROLE_MEMBER_SERVER = 3,
DS_ROLE_BACKUP_DC = 4,
DS_ROLE_PRIMARY_DC = 5
} dssetup_DsRole;
typedef [bitmap32bit] bitmap {
DS_ROLE_PRIMARY_DS_RUNNING = 0x00000001,
DS_ROLE_PRIMARY_DS_MIXED_MODE = 0x00000002,
DS_ROLE_UPGRADE_IN_PROGRESS = 0x00000004,
DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT = 0x01000000
} dssetup_DsRoleFlags;
typedef struct {
dssetup_DsRole role;
dssetup_DsRoleFlags flags;
[charset(UTF16),string] uint16 *domain;
[charset(UTF16),string] uint16 *dns_domain;
[charset(UTF16),string] uint16 *forest;
GUID domain_guid;
} dssetup_DsRolePrimaryDomInfoBasic;
typedef [v1_enum] enum {
DS_ROLE_NOT_UPGRADING = 0,
DS_ROLE_UPGRADING = 1
} dssetup_DsUpgrade;
typedef enum {
DS_ROLE_PREVIOUS_UNKNOWN = 0,
DS_ROLE_PREVIOUS_PRIMARY = 1,
DS_ROLE_PREVIOUS_BACKUP = 2
} dssetup_DsPrevious;
typedef struct {
dssetup_DsUpgrade upgrading;
dssetup_DsPrevious previous_role;
} dssetup_DsRoleUpgradeStatus;
typedef enum {
DS_ROLE_OP_IDLE = 0,
DS_ROLE_OP_ACTIVE = 1,
DS_ROLE_OP_NEEDS_REBOOT = 2
} dssetup_DsRoleOp;
typedef struct {
dssetup_DsRoleOp status;
} dssetup_DsRoleOpStatus;
typedef enum {
DS_ROLE_BASIC_INFORMATION = 1,
DS_ROLE_UPGRADE_STATUS = 2,
DS_ROLE_OP_STATUS = 3
} dssetup_DsRoleInfoLevel;
typedef [switch_type(dssetup_DsRoleInfoLevel)] union {
[case(DS_ROLE_BASIC_INFORMATION)] dssetup_DsRolePrimaryDomInfoBasic basic;
[case(DS_ROLE_UPGRADE_STATUS)] dssetup_DsRoleUpgradeStatus upgrade;
[case(DS_ROLE_OP_STATUS)] dssetup_DsRoleOpStatus opstatus;
} dssetup_DsRoleInfo;
WERROR dssetup_DsRoleGetPrimaryDomainInformation(
[in] dssetup_DsRoleInfoLevel level,
[out,switch_is(level),unique] dssetup_DsRoleInfo *info
);
/*
w2k3 has removed all the calls below from their implementation.
These stubs are left here only as a way of documenting the names
of the calls in case they ever turn up on the wire.
*/
[todo] WERROR dssetup_DsRoleDnsNameToFlatName();
[todo] WERROR dssetup_DsRoleDcAsDc();
[todo] WERROR dssetup_DsRoleDcAsReplica();
[todo] WERROR dssetup_DsRoleDemoteDc();
[todo] WERROR dssetup_DsRoleGetDcOperationProgress();
[todo] WERROR dssetup_DsRoleGetDcOperationResults();
[todo] WERROR dssetup_DsRoleCancel();
[todo] WERROR dssetup_DsRoleServerSaveStateForUpgrade();
[todo] WERROR dssetup_DsRoleUpgradeDownlevelServer();
[todo] WERROR dssetup_DsRoleAbortDownlevelServerUpgrade();
}

View File

@ -1,127 +0,0 @@
[
uuid("60a15ec5-4de8-11d7-a637-005056a20182"),
endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:", "ncalrpc:"),
pointer_default(unique),
version(1.0),
helpstring("Simple echo pipe")
]
interface rpcecho
{
/* Add one to an integer */
void echo_AddOne(
[in] uint32 in_data,
[out] uint32 *out_data
);
/* Echo an array of bytes back at the caller */
void echo_EchoData(
[in] uint32 len,
[in] [size_is(len)] uint8 in_data[],
[out] [size_is(len)] uint8 out_data[]
);
/* Sink data to the server */
void echo_SinkData(
[in] uint32 len,
[in,size_is(len)] uint8 data[]
);
/* Source data from server */
void echo_SourceData(
[in] uint32 len,
[out,size_is(len)] uint8 data[]
);
/* test strings */
void echo_TestCall (
[in,string,charset(UTF16)] uint16 *s1,
[out,string,charset(UTF16)] uint16 **s2
);
/* test some alignment issues */
typedef [public] struct {
uint8 v;
} echo_info1;
typedef struct {
uint16 v;
} echo_info2;
typedef struct {
uint32 v;
} echo_info3;
struct echo_info4 {
hyper v;
};
typedef struct {
uint8 v1;
hyper v2;
} echo_info5;
typedef struct {
uint8 v1;
echo_info1 info1;
} echo_info6;
typedef struct {
uint8 v1;
struct echo_info4 info4;
} echo_info7;
typedef [switch_type(uint16)] union {
[case(1)] echo_info1 info1;
[case(2)] echo_info2 info2;
[case(3)] echo_info3 info3;
[case(4)] struct echo_info4 info4;
[case(5)] echo_info5 info5;
[case(6)] echo_info6 info6;
[case(7)] echo_info7 info7;
} echo_Info;
NTSTATUS echo_TestCall2 (
[in] uint16 level,
[out,switch_is(level)] echo_Info *info
);
uint32 echo_TestSleep(
[in] uint32 seconds
);
typedef enum {
ECHO_ENUM1 = 1,
ECHO_ENUM2 = 2
} echo_Enum1;
typedef [v1_enum] enum {
ECHO_ENUM1_32 = 1,
ECHO_ENUM2_32 = 2
} echo_Enum1_32;
typedef struct {
echo_Enum1 e1;
echo_Enum1_32 e2;
} echo_Enum2;
typedef [switch_type(uint16)] union {
[case(ECHO_ENUM1)] echo_Enum1 e1;
[case(ECHO_ENUM2)] echo_Enum2 e2;
} echo_Enum3;
void echo_TestEnum(
[in,out,ref] echo_Enum1 *foo1,
[in,out,ref] echo_Enum2 *foo2,
[in,out,ref,switch_is(*foo1)] echo_Enum3 *foo3
);
typedef struct {
uint32 x;
[size_is(x)] uint16 surrounding[*];
} echo_Surrounding;
void echo_TestSurrounding(
[in,out,ref] echo_Surrounding *data
);
uint16 echo_TestDoublePointer([in] uint16 ***data);
}

View File

@ -1,58 +0,0 @@
#include "idl_types.h"
/*
IDL structures for notify change code
this defines the structures used in the notify database code, and
the change notify buffers
*/
import "misc.idl";
[
pointer_default(unique)
]
interface notify
{
/* structure used in the notify database */
typedef [public] struct {
server_id server;
uint32 filter; /* filter to apply in this directory */
uint32 subdir_filter; /* filter to apply in child directories */
utf8string path;
uint32 path_len; /* saves some computation on search */
pointer private_data;
} notify_entry;
/*
to allow for efficient search for matching entries, we
divide them by the directory depth, with a separate array
per depth. The entries within each depth are sorted by path,
allowing for a bisection search.
The max_mask and max_mask_subdir at each depth is the
bitwise or of the filters and subdir filters for all entries
at that depth. This allows a depth to be quickly skipped if
no entries will match the target filter
*/
typedef struct {
uint32 max_mask;
uint32 max_mask_subdir;
uint32 num_entries;
notify_entry entries[num_entries];
} notify_depth;
typedef [public] struct {
uint32 num_depths;
notify_depth depth[num_depths];
} notify_array;
/* structure sent between servers in notify messages */
typedef [public] struct {
uint32 action;
utf8string path;
pointer private_data;
} notify_event;
}

File diff suppressed because it is too large Load Diff