summaryrefslogtreecommitdiff
path: root/librpc/idl/frsrpc.idl
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-07-21 16:48:06 +0200
committerStefan Metzmacher <metze@samba.org>2009-07-21 19:11:24 +0200
commit424e7636957f07c044ee24a9bbf650b02291939b (patch)
tree95fd5aa9269ff59d37e62061b3e7602d38e37f90 /librpc/idl/frsrpc.idl
parent9d148f75c712d4cf6863f8eb1256f806eac8d38b (diff)
downloadsamba-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/frsrpc.idl')
-rw-r--r--librpc/idl/frsrpc.idl9
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 {