diff options
Diffstat (limited to 'librpc')
-rw-r--r-- | librpc/idl/ntlmssp.idl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/librpc/idl/ntlmssp.idl b/librpc/idl/ntlmssp.idl index 9845f348e1..6106617b95 100644 --- a/librpc/idl/ntlmssp.idl +++ b/librpc/idl/ntlmssp.idl @@ -87,4 +87,24 @@ interface ntlmssp uint8 Reserved[3]; ntlmssp_NTLMRevisionCurrent NTLMRevisionCurrent; } VERSION; + + typedef [nodiscriminant] union { + [case(NTLMSSP_NEGOTIATE_VERSION)] VERSION version; + [default]; + } ntlmssp_Version; + + /* NTLMSSP negotiate message */ + + typedef [public] struct { + [charset(DOS),value("NTLMSSP")] uint8 Signature[8]; + [value(NtLmNegotiate)] ntlmssp_MessageType MessageType; + NEGOTIATE NegotiateFlags; + [value(strlen(DomainName))] uint16 DomainNameLen; + [value(DomainNameLen)] uint16 DomainNameMaxLen; + [relative] [subcontext(0),subcontext_size(DomainNameLen)] [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM))] string *DomainName; + [value(strlen(Workstation))] uint16 WorkstationLen; + [value(WorkstationLen)] uint16 WorkstationMaxLen; + [relative] [subcontext(0),subcontext_size(WorkstationLen)] [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM))] string *Workstation; + [switch_is(NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)] ntlmssp_Version Version; + } NEGOTIATE_MESSAGE; } |