diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-07-21 16:48:06 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-07-21 19:11:24 +0200 |
commit | 424e7636957f07c044ee24a9bbf650b02291939b (patch) | |
tree | 95fd5aa9269ff59d37e62061b3e7602d38e37f90 /librpc/idl | |
parent | 9d148f75c712d4cf6863f8eb1256f806eac8d38b (diff) | |
download | samba-424e7636957f07c044ee24a9bbf650b02291939b.tar.gz samba-424e7636957f07c044ee24a9bbf650b02291939b.tar.bz2 samba-424e7636957f07c044ee24a9bbf650b02291939b.zip |
frsrpc.idl: make the chunk array in frsrpc_CommPktChunkCtr dynamic
We add an extra num_chunks to the frsrpc_CommPktChunkCtr structure
and use hand modified ndr_push/pull functions to let it not appear
on the wire.
metze
Diffstat (limited to 'librpc/idl')
-rw-r--r-- | librpc/idl/frsrpc.idl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/librpc/idl/frsrpc.idl b/librpc/idl/frsrpc.idl index 54f143c1f1..233fbcb174 100644 --- a/librpc/idl/frsrpc.idl +++ b/librpc/idl/frsrpc.idl @@ -7,6 +7,7 @@ import "misc.idl"; version(1.1), endpoint("ncacn_ip_tcp:", "ncalrpc:"), helpstring("File Replication Service"), + helper("../librpc/ndr/ndr_frsrpc.h"), pointer_default(unique) ] interface frsrpc @@ -304,14 +305,14 @@ interface frsrpc [value(0xFFFFFFFF)] uint32 bop; } frsrpc_CommPktChunkData; - typedef [flag(NDR_NOALIGN)] struct { + typedef [public,flag(NDR_NOALIGN)] struct { frsrpc_CommPktChunkType type; [subcontext(4),switch_is(type)] frsrpc_CommPktChunkData data; } frsrpc_CommPktChunk; - typedef [gensize,flag(NDR_NOALIGN)] struct { - /* TODO: make this dynamic */ - frsrpc_CommPktChunk chunks[9]; + typedef [nopull,nopush,flag(NDR_NOALIGN)] struct { + uint32 num_chunks; /* this doesn't appear on the wire */ + frsrpc_CommPktChunk chunks[num_chunks]; } frsrpc_CommPktChunkCtr; typedef [v1_enum] enum { |