svn commit: samba r5828 - in branches/SAMBA_4_0/source: include librpc/idl librpc/ndr

metze at samba.org metze at samba.org
Wed Mar 16 09:25:53 GMT 2005


Author: metze
Date: 2005-03-16 09:25:52 +0000 (Wed, 16 Mar 2005)
New Revision: 5828

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=5828

Log:
add some idl for DsAddEntry()

metze

Modified:
   branches/SAMBA_4_0/source/include/structs.h
   branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl
   branches/SAMBA_4_0/source/librpc/ndr/ndr_drsuapi.c


Changeset:
Modified: branches/SAMBA_4_0/source/include/structs.h
===================================================================
--- branches/SAMBA_4_0/source/include/structs.h	2005-03-16 06:18:20 UTC (rev 5827)
+++ branches/SAMBA_4_0/source/include/structs.h	2005-03-16 09:25:52 UTC (rev 5828)
@@ -29,7 +29,8 @@
 struct spoolss_EnumPrinterDrivers;
 struct spoolss_EnumPorts;
 
-struct drsuapi_DsGetNCChangesInfo1;
+struct drsuapi_DsReplicaObjectListItem;
+struct drsuapi_DsReplicaObjectListItemEx;
 
 struct MULTI_QI;
 struct COSERVERINFO;

Modified: branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl	2005-03-16 06:18:20 UTC (rev 5827)
+++ branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl	2005-03-16 09:25:52 UTC (rev 5828)
@@ -114,7 +114,7 @@
 
 	/*****************/
 	/* Function 0x02 */
-	typedef [gensize,flag(NDR_PAHEX)] struct {
+	typedef [gensize] struct {
 		[value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags)-4)] uint32 __ndr_size;
 		[value(ndr_length_dom_sid(&r->sid))]  uint32 __ndr_size_sid;
 		GUID guid;
@@ -295,12 +295,12 @@
 	} drsuapi_DsReplicaObject;
 
 	typedef [noprint] struct {
-		drsuapi_DsGetNCChangesInfo1 *next;
+		drsuapi_DsReplicaObjectListItemEx *next_object;
 		drsuapi_DsReplicaObject object;
 		uint32 unknown1;
 		GUID *guid;
 		drsuapi_DsReplicaMetaDataCtr *meta_data_ctr;
-	} drsuapi_DsGetNCChangesInfo1;
+	} drsuapi_DsReplicaObjectListItemEx;
 
 	typedef struct {
 		GUID guid1;
@@ -311,7 +311,7 @@
 		drsuapi_DsReplicaCoursorEx05Ctr *coursor_ex;
 		drsuapi_DsGetNCChangesRequest_Ctr12 ctr12;
 		uint32 u1[3];
-		drsuapi_DsGetNCChangesInfo1 *info1;
+		drsuapi_DsReplicaObjectListItemEx *first_object;
 		uint32 u2;
 	} drsuapi_DsGetNCChangesCtr1;
 
@@ -630,8 +630,53 @@
 
 	/*****************/
         /* Function 0x11 */
-	WERROR drsuapi_DsAddEntry();
+	typedef [noprint] struct {
+		drsuapi_DsReplicaObjectListItem *next_object;
+		drsuapi_DsReplicaObject object;
+	} drsuapi_DsReplicaObjectListItem;
 
+	typedef struct {
+		drsuapi_DsReplicaObjectListItem first_object;
+	} drsuapi_DsAddEntryRequest2;
+
+	typedef [switch_type(int32)] union {
+		[case(2)] drsuapi_DsAddEntryRequest2 req2;
+	} drsuapi_DsAddEntryRequest;
+
+	typedef struct {
+		uint32 unknown1;
+		uint32 unknown2;
+		uint32 unknown3;
+	} drsuapi_DsAddEntryCtr3Info1;
+
+	typedef [switch_type(uint32)] union {
+		[case(1)] drsuapi_DsAddEntryCtr3Info1 info1;
+	} drsuapi_DsAddEntryCtr3Info;
+
+	typedef struct {
+		GUID guid;
+		[subcontext_size(28),subcontext(0)] dom_sid sid;
+	} drsuapi_DsReplicaObjectIdentifier2;
+
+	typedef struct {
+		drsuapi_DsReplicaObjectIdentifier *id;
+		uint32 level;
+		[switch_is(level)] drsuapi_DsAddEntryCtr3Info *info;
+		[range(0,10000)] uint32 count;
+		[size_is(count)] drsuapi_DsReplicaObjectIdentifier2 *objects[];
+	} drsuapi_DsAddEntryCtr3;
+
+	typedef [switch_type(int32)] union {
+		[case(3)] drsuapi_DsAddEntryCtr3 ctr3;
+	} drsuapi_DsAddEntryCtr;
+
+	WERROR drsuapi_DsAddEntry(
+		[in,ref] policy_handle *bind_handle,
+		[in,out] int32 level,
+		[in,switch_is(level)] drsuapi_DsAddEntryRequest req,
+		[out,switch_is(level)] drsuapi_DsAddEntryCtr ctr
+		);
+
 	/*****************/
         /* Function 0x12 */
 	WERROR DRSUAPI_EXECUTE_KCC();

Modified: branches/SAMBA_4_0/source/librpc/ndr/ndr_drsuapi.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/ndr/ndr_drsuapi.c	2005-03-16 06:18:20 UTC (rev 5827)
+++ branches/SAMBA_4_0/source/librpc/ndr/ndr_drsuapi.c	2005-03-16 09:25:52 UTC (rev 5828)
@@ -24,12 +24,23 @@
 #include "includes.h"
 #include "librpc/gen_ndr/ndr_drsuapi.h"
 
+void ndr_print_drsuapi_DsReplicaObjectListItem(struct ndr_print *ndr, const char *name, struct drsuapi_DsReplicaObjectListItem *r)
+{
+	ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectListItem");
+	ndr->depth++;
+	ndr_print_ptr(ndr, "next_object", r->next_object);
+	ndr_print_drsuapi_DsReplicaObject(ndr, "object", &r->object);
+	ndr->depth--;
+	if (r->next_object) {
+		ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "next_object", r->next_object);
+	}
+}
 
-void ndr_print_drsuapi_DsGetNCChangesInfo1(struct ndr_print *ndr, const char *name, struct drsuapi_DsGetNCChangesInfo1 *r)
+void ndr_print_drsuapi_DsReplicaObjectListItemEx(struct ndr_print *ndr, const char *name, struct drsuapi_DsReplicaObjectListItemEx *r)
 {
-	ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesInfo1");
+	ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectListItemEx");
 	ndr->depth++;
-	ndr_print_ptr(ndr, "next", r->next);
+	ndr_print_ptr(ndr, "next_object", r->next_object);
 	ndr_print_drsuapi_DsReplicaObject(ndr, "object", &r->object);
 	ndr_print_uint32(ndr, "unknown1", r->unknown1);
 	ndr_print_ptr(ndr, "guid", r->guid);
@@ -45,7 +56,7 @@
 	}
 	ndr->depth--;
 	ndr->depth--;
-	if (r->next) {
-		ndr_print_drsuapi_DsGetNCChangesInfo1(ndr, "next", r->next);
+	if (r->next_object) {
+		ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "next_object", r->next_object);
 	}
 }



More information about the samba-cvs mailing list