diff options
-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; |