s4/idl: DsAddEntry V3 request description
authorKamen Mazdrashki <kamen.mazdrashki@postpath.com>
Wed, 17 Mar 2010 01:07:01 +0000 (03:07 +0200)
committerKamen Mazdrashki <kamen.mazdrashki@postpath.com>
Wed, 24 Mar 2010 15:34:43 +0000 (17:34 +0200)
librpc/idl/drsuapi.idl

index e4343c91f9e198044fb77200483237e5bf05c534..e9d21607f7c74c051baad3aea34e06bf7ad3bb6e 100644 (file)
@@ -1229,8 +1229,41 @@ interface drsuapi
                drsuapi_DsReplicaObjectListItem first_object;
        } drsuapi_DsAddEntryRequest2;
 
+       /* Buffer type is actually more
+        * like a semi Flags
+        * Ref: DRS_SecBuffer, [MS-DRSR]: 5.41*/
+       typedef [v1_enum,noprint] enum {
+               DRSUAPI_SECBUFFER_EMPTY          = 0x00000000,
+               DRSUAPI_SECBUFFER_DATA           = 0x00000001,
+               DRSUAPI_SECBUFFER_TOKEN          = 0x00000002,
+               DRSUAPI_SECBUFFER_PKG_PARAMS     = 0x00000003,
+               DRSUAPI_SECBUFFER_MISSING        = 0x00000004,
+               DRSUAPI_SECBUFFER_EXTRA          = 0x00000005,
+               DRSUAPI_SECBUFFER_STREAM_TRAILER = 0x00000006,
+               DRSUAPI_SECBUFFER_STREAM_HEADER  = 0x00000007,
+               DRSUAPI_SECBUFFER_READONLY       = 0x80000000
+       } drsuapi_SecBufferType;
+
+       typedef struct {
+               [range(0,10000)] uint32 buf_size;
+               drsuapi_SecBufferType buf_type;
+               [size_is(buf_size)] uint8 *buffer;
+       } drsuapi_SecBuffer;
+
+       typedef struct {
+               [value(0)] uint32 version;
+               [range(0,10000)] uint32 buff_count;
+               [size_is(buff_count)] drsuapi_SecBuffer *buffers;
+       } drsuapi_SecBufferDesc;
+
+       typedef struct {
+               drsuapi_DsReplicaObjectListItem first_object;
+               drsuapi_SecBufferDesc *client_creds;
+       } drsuapi_DsAddEntryRequest3;
+
        typedef [switch_type(uint32)] union {
                [case(2)] drsuapi_DsAddEntryRequest2 req2;
+               [case(3)] drsuapi_DsAddEntryRequest3 req3;
        } drsuapi_DsAddEntryRequest;
 
        /* Generic extended error info