diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-12-29 07:31:04 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:30:23 -0500 |
commit | deafbaed86f2fe530bee5bcded40931ac8f8d9b8 (patch) | |
tree | 6b6a257e808382737e8ee80e8ebeaeb617e9a305 /source4 | |
parent | 3d3d20c3107fc877b1d88fa7ae27513ecf3c2a59 (diff) | |
download | samba-deafbaed86f2fe530bee5bcded40931ac8f8d9b8.tar.gz samba-deafbaed86f2fe530bee5bcded40931ac8f8d9b8.tar.bz2 samba-deafbaed86f2fe530bee5bcded40931ac8f8d9b8.zip |
r20400: this let ndrdump display the content of a frsrpc_FrsSendCommPkt()
call between 2 w2k3 boxes nicely, but I'm not sure if the amount
of 9 chunks is fixed...
metze
(This used to be commit adceac88519b5d61b759eac6e0b152da0529f85c)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/librpc/idl/frsrpc.idl | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/source4/librpc/idl/frsrpc.idl b/source4/librpc/idl/frsrpc.idl index 18aa73322a..70b883bbfc 100644 --- a/source4/librpc/idl/frsrpc.idl +++ b/source4/librpc/idl/frsrpc.idl @@ -1,5 +1,7 @@ #include "idl_types.h" +import "misc.idl"; + [ uuid("f5cc59b4-4264-101a-8c59-08002b2f8426"), version(1.1), @@ -13,6 +15,55 @@ interface frsrpc /* Function 0x00 */ typedef struct { uint32 unknown1; + } frsrpc_FrsSendCommPktChunkDataA; + + typedef struct { + uint32 unknown1; + GUID unknown2; + [subcontext(4)] nstring unknown3; + } frsrpc_FrsSendCommPktChunkDataB; + + typedef struct { + uint32 unknown1; + GUID unknown2; + } frsrpc_FrsSendCommPktChunkDataC; + + typedef struct { + NTTIME time; + } frsrpc_FrsSendCommPktChunkDataD; + + typedef [nodiscriminant] union { + [default,flag(NDR_REMAINING)] DATA_BLOB blob; + [case(1)] frsrpc_FrsSendCommPktChunkDataA A; + [case(2)] frsrpc_FrsSendCommPktChunkDataA A; + [case(3)] frsrpc_FrsSendCommPktChunkDataB B; + [case(4)] frsrpc_FrsSendCommPktChunkDataB B; + [case(5)] frsrpc_FrsSendCommPktChunkDataB B; + [case(8)] frsrpc_FrsSendCommPktChunkDataB B; + [case(6)] frsrpc_FrsSendCommPktChunkDataC C; + [case(18)] frsrpc_FrsSendCommPktChunkDataD D; + [case(19)] frsrpc_FrsSendCommPktChunkDataA A; + } frsrpc_FrsSendCommPktChunkData; + + typedef struct { + uint16 type; + [subcontext(4),switch_is(type)] frsrpc_FrsSendCommPktChunkData data; + } frsrpc_FrsSendCommPktChunk; + + typedef [flag(NDR_NOALIGN)] struct { + frsrpc_FrsSendCommPktChunk chunk1; + frsrpc_FrsSendCommPktChunk chunk2; + frsrpc_FrsSendCommPktChunk chunk3; + frsrpc_FrsSendCommPktChunk chunk4; + frsrpc_FrsSendCommPktChunk chunk5; + frsrpc_FrsSendCommPktChunk chunk6; + frsrpc_FrsSendCommPktChunk chunk7; + frsrpc_FrsSendCommPktChunk chunk8; + frsrpc_FrsSendCommPktChunk chunk9; + } frsrpc_FrsSendCommPktChunkCtr; + + typedef struct { + uint32 unknown1; uint32 unknown2; uint32 unknown3; uint32 unknown4; @@ -36,7 +87,7 @@ interface frsrpc * lstring string; * } ...; */ - [subcontext(4),flag(NDR_REMAINING)/*,size_is(unknown5)*/] DATA_BLOB *unknown7; + [subcontext(4)/*,size_is(unknown5)*/] frsrpc_FrsSendCommPktChunkCtr *chunks; uint32 unknown8; uint32 unknown9; } frsrpc_FrsSendCommPktReq; |