source: trunk/server/source3/librpc/gen_ndr/ntlmssp.h@ 873

Last change on this file since 873 was 873, checked in by Silvan Scherrer, 11 years ago

samba server 3.6: change EOL style of a lot files. This hurts on every patch

File size: 11.6 KB
Line 
1/* header auto-generated by pidl */
2
3#ifndef _PIDL_HEADER_ntlmssp
4#define _PIDL_HEADER_ntlmssp
5
6#include <stdint.h>
7
8#include "libcli/util/ntstatus.h"
9
10#ifndef _HEADER_ntlmssp
11#define _HEADER_ntlmssp
12
13#define NTLMSSP_NEGOTIATE_NTLM2 ( NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY )
14#define NTLMSSP_SIGN_VERSION ( 0x01 )
15#define NTLMSSP_SIG_SIZE ( 16 )
16enum ntlmssp_MessageType
17#ifndef USE_UINT_ENUMS
18 {
19 NtLmNegotiate=(int)(0x00000001),
20 NtLmChallenge=(int)(0x00000002),
21 NtLmAuthenticate=(int)(0x00000003)
22}
23#else
24 { __donnot_use_enum_ntlmssp_MessageType=0x7FFFFFFF}
25#define NtLmNegotiate ( 0x00000001 )
26#define NtLmChallenge ( 0x00000002 )
27#define NtLmAuthenticate ( 0x00000003 )
28#endif
29;
30
31/* bitmap NEGOTIATE */
32#define NTLMSSP_NEGOTIATE_UNICODE ( 0x00000001 )
33#define NTLMSSP_NEGOTIATE_OEM ( 0x00000002 )
34#define NTLMSSP_REQUEST_TARGET ( 0x00000004 )
35#define NTLMSSP_NEGOTIATE_SIGN ( 0x00000010 )
36#define NTLMSSP_NEGOTIATE_SEAL ( 0x00000020 )
37#define NTLMSSP_NEGOTIATE_DATAGRAM ( 0x00000040 )
38#define NTLMSSP_NEGOTIATE_LM_KEY ( 0x00000080 )
39#define NTLMSSP_NEGOTIATE_NETWARE ( 0x00000100 )
40#define NTLMSSP_NEGOTIATE_NTLM ( 0x00000200 )
41#define NTLMSSP_NEGOTIATE_NT_ONLY ( 0x00000400 )
42#define NTLMSSP_ANONYMOUS ( 0x00000800 )
43#define NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED ( 0x00001000 )
44#define NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED ( 0x00002000 )
45#define NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL ( 0x00004000 )
46#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN ( 0x00008000 )
47#define NTLMSSP_TARGET_TYPE_DOMAIN ( 0x00010000 )
48#define NTLMSSP_TARGET_TYPE_SERVER ( 0x00020000 )
49#define NTLMSSP_TARGET_TYPE_SHARE ( 0x00040000 )
50#define NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY ( 0x00080000 )
51#define NTLMSSP_NEGOTIATE_IDENTIFY ( 0x00100000 )
52#define NTLMSSP_REQUEST_NON_NT_SESSION_KEY ( 0x00400000 )
53#define NTLMSSP_NEGOTIATE_TARGET_INFO ( 0x00800000 )
54#define NTLMSSP_NEGOTIATE_VERSION ( 0x02000000 )
55#define NTLMSSP_NEGOTIATE_128 ( 0x20000000 )
56#define NTLMSSP_NEGOTIATE_KEY_EXCH ( 0x40000000 )
57#define NTLMSSP_NEGOTIATE_56 ( 0x80000000 )
58
59enum ntlmssp_WindowsMajorVersion
60#ifndef USE_UINT_ENUMS
61 {
62 NTLMSSP_WINDOWS_MAJOR_VERSION_5=(int)(0x05),
63 NTLMSSP_WINDOWS_MAJOR_VERSION_6=(int)(0x06)
64}
65#else
66 { __donnot_use_enum_ntlmssp_WindowsMajorVersion=0x7FFFFFFF}
67#define NTLMSSP_WINDOWS_MAJOR_VERSION_5 ( 0x05 )
68#define NTLMSSP_WINDOWS_MAJOR_VERSION_6 ( 0x06 )
69#endif
70;
71
72enum ntlmssp_WindowsMinorVersion
73#ifndef USE_UINT_ENUMS
74 {
75 NTLMSSP_WINDOWS_MINOR_VERSION_0=(int)(0x00),
76 NTLMSSP_WINDOWS_MINOR_VERSION_1=(int)(0x01),
77 NTLMSSP_WINDOWS_MINOR_VERSION_2=(int)(0x02)
78}
79#else
80 { __donnot_use_enum_ntlmssp_WindowsMinorVersion=0x7FFFFFFF}
81#define NTLMSSP_WINDOWS_MINOR_VERSION_0 ( 0x00 )
82#define NTLMSSP_WINDOWS_MINOR_VERSION_1 ( 0x01 )
83#define NTLMSSP_WINDOWS_MINOR_VERSION_2 ( 0x02 )
84#endif
85;
86
87enum ntlmssp_NTLMRevisionCurrent
88#ifndef USE_UINT_ENUMS
89 {
90 NTLMSSP_REVISION_W2K3_RC1=(int)(0x0A),
91 NTLMSSP_REVISION_W2K3=(int)(0x0F)
92}
93#else
94 { __donnot_use_enum_ntlmssp_NTLMRevisionCurrent=0x7FFFFFFF}
95#define NTLMSSP_REVISION_W2K3_RC1 ( 0x0A )
96#define NTLMSSP_REVISION_W2K3 ( 0x0F )
97#endif
98;
99
100struct ntlmssp_VERSION {
101 enum ntlmssp_WindowsMajorVersion ProductMajorVersion;
102 enum ntlmssp_WindowsMinorVersion ProductMinorVersion;
103 uint16_t ProductBuild;
104 uint8_t Reserved[3];
105 enum ntlmssp_NTLMRevisionCurrent NTLMRevisionCurrent;
106}/* [public] */;
107
108union ntlmssp_Version {
109 struct ntlmssp_VERSION version;/* [case(NTLMSSP_NEGOTIATE_VERSION)] */
110}/* [noprint,nodiscriminant] */;
111
112struct NEGOTIATE_MESSAGE {
113 const char *Signature;/* [value("NTLMSSP"),charset(DOS)] */
114 enum ntlmssp_MessageType MessageType;/* [value(NtLmNegotiate)] */
115 uint32_t NegotiateFlags;
116 uint16_t DomainNameLen;/* [value(DomainName?strlen(DomainName):0)] */
117 uint16_t DomainNameMaxLen;/* [value(DomainNameLen)] */
118 const char * DomainName;/* [relative,subcontext_size(DomainNameLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM))] */
119 uint16_t WorkstationLen;/* [value(Workstation?strlen(Workstation):0)] */
120 uint16_t WorkstationMaxLen;/* [value(WorkstationLen)] */
121 const char * Workstation;/* [relative,subcontext_size(WorkstationLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM))] */
122 union ntlmssp_Version Version;/* [switch_is(NegotiateFlags&NTLMSSP_NEGOTIATE_VERSION)] */
123}/* [public] */;
124
125enum ntlmssp_AvId
126#ifndef USE_UINT_ENUMS
127 {
128 MsvAvEOL=(int)(0),
129 MsvAvNbComputerName=(int)(1),
130 MsvAvNbDomainName=(int)(2),
131 MsvAvDnsComputerName=(int)(3),
132 MsvAvDnsDomainName=(int)(4),
133 MsvAvDnsTreeName=(int)(5),
134 MsvAvFlags=(int)(6),
135 MsvAvTimestamp=(int)(7),
136 MsAvRestrictions=(int)(8),
137 MsvAvTargetName=(int)(9),
138 MsvChannelBindings=(int)(10)
139}
140#else
141 { __donnot_use_enum_ntlmssp_AvId=0x7FFFFFFF}
142#define MsvAvEOL ( 0 )
143#define MsvAvNbComputerName ( 1 )
144#define MsvAvNbDomainName ( 2 )
145#define MsvAvDnsComputerName ( 3 )
146#define MsvAvDnsDomainName ( 4 )
147#define MsvAvDnsTreeName ( 5 )
148#define MsvAvFlags ( 6 )
149#define MsvAvTimestamp ( 7 )
150#define MsAvRestrictions ( 8 )
151#define MsvAvTargetName ( 9 )
152#define MsvChannelBindings ( 10 )
153#endif
154;
155
156struct Restriction_Encoding {
157 uint32_t Size;
158 uint32_t Z4;/* [value(0)] */
159 uint32_t IntegrityLevel;
160 uint32_t SubjectIntegrityLevel;
161 uint8_t MachineId[32];
162};
163
164/* bitmap ntlmssp_AvFlags */
165#define NTLMSSP_AVFLAG_CONSTRAINTED_ACCOUNT ( 0x00000001 )
166#define NTLMSSP_AVFLAG_MIC_IN_AUTHENTICATE_MESSAGE ( 0x00000002 )
167
168union ntlmssp_AvValue {
169 const char * AvNbComputerName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvNbComputerName)] */
170 const char * AvNbDomainName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvNbDomainName)] */
171 const char * AvDnsComputerName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvDnsComputerName)] */
172 const char * AvDnsDomainName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvDnsDomainName)] */
173 const char * AvDnsTreeName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvDnsTreeName)] */
174 uint32_t AvFlags;/* [case(MsvAvFlags)] */
175 NTTIME AvTimestamp;/* [case(MsvAvTimestamp)] */
176 struct Restriction_Encoding AvRestrictions;/* [case(MsAvRestrictions)] */
177 const char * AvTargetName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvTargetName)] */
178 uint8_t ChannelBindings[16];/* [case(MsvChannelBindings)] */
179 DATA_BLOB blob;/* [default,flag(LIBNDR_FLAG_REMAINING)] */
180}/* [gensize,nodiscriminant,flag(LIBNDR_FLAG_NOALIGN)] */;
181
182struct AV_PAIR {
183 enum ntlmssp_AvId AvId;
184 uint16_t AvLen;/* [value(ndr_size_ntlmssp_AvValue(&r->Value,r->AvId,0))] */
185 union ntlmssp_AvValue Value;/* [subcontext_size(AvLen),subcontext(0),switch_is(AvId)] */
186}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
187
188struct AV_PAIR_LIST {
189 uint32_t count;
190 struct AV_PAIR *pair;
191}/* [gensize,nopull,nopush,flag(LIBNDR_FLAG_NOALIGN)] */;
192
193struct CHALLENGE_MESSAGE {
194 const char *Signature;/* [value("NTLMSSP"),charset(DOS)] */
195 enum ntlmssp_MessageType MessageType;/* [value(NtLmChallenge)] */
196 uint16_t TargetNameLen;/* [value(ndr_ntlmssp_string_length(NegotiateFlags,TargetName))] */
197 uint16_t TargetNameMaxLen;/* [value(TargetNameLen)] */
198 const char * TargetName;/* [relative,subcontext_size(TargetNameLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] */
199 uint32_t NegotiateFlags;
200 uint8_t ServerChallenge[8];
201 uint8_t Reserved[8];
202 uint16_t TargetInfoLen;/* [value(ndr_size_AV_PAIR_LIST(TargetInfo,ndr->flags))] */
203 uint16_t TargetNameInfoMaxLen;/* [value(TargetInfoLen)] */
204 struct AV_PAIR_LIST *TargetInfo;/* [relative,subcontext_size(TargetInfoLen),subcontext(0)] */
205 union ntlmssp_Version Version;/* [switch_is(NegotiateFlags&NTLMSSP_NEGOTIATE_VERSION)] */
206}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
207
208struct LM_RESPONSE {
209 uint8_t Response[24];
210}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
211
212struct LMv2_RESPONSE {
213 uint8_t Response[16];
214 uint8_t ChallengeFromClient[8];
215}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
216
217union ntlmssp_LM_RESPONSE {
218 struct LM_RESPONSE v1;/* [case(24)] */
219}/* [nodiscriminant] */;
220
221struct NTLM_RESPONSE {
222 uint8_t Response[24];
223}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
224
225struct NTLMv2_CLIENT_CHALLENGE {
226 uint8_t RespType;/* [value] */
227 uint8_t HiRespType;/* [value] */
228 uint16_t Reserved1;
229 uint32_t Reserved2;
230 NTTIME TimeStamp;
231 uint8_t ChallengeFromClient[8];
232 uint32_t Reserved3;
233 struct AV_PAIR_LIST AvPairs;/* [subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
234}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
235
236struct NTLMv2_RESPONSE {
237 uint8_t Response[16];
238 struct NTLMv2_CLIENT_CHALLENGE Challenge;
239}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
240
241union ntlmssp_NTLM_RESPONSE {
242 struct NTLM_RESPONSE v1;/* [case(0x18)] */
243 struct NTLMv2_RESPONSE v2;/* [default] */
244}/* [public,nodiscriminant] */;
245
246struct MIC {
247 uint8_t MIC[16];
248}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
249
250struct AUTHENTICATE_MESSAGE {
251 const char *Signature;/* [value("NTLMSSP"),charset(DOS)] */
252 enum ntlmssp_MessageType MessageType;/* [value(NtLmAuthenticate)] */
253 uint16_t LmChallengeResponseLen;
254 uint16_t LmChallengeResponseMaxLen;/* [value(LmChallengeResponseLen)] */
255 union ntlmssp_LM_RESPONSE *LmChallengeResponse;/* [relative,subcontext_size(LmChallengeResponseLen),subcontext(0),switch_is(LmChallengeResponseLen)] */
256 uint16_t NtChallengeResponseLen;
257 uint16_t NtChallengeResponseMaxLen;/* [value(NtChallengeResponseLen)] */
258 union ntlmssp_NTLM_RESPONSE *NtChallengeResponse;/* [relative,subcontext_size(NtChallengeResponseMaxLen),subcontext(0),switch_is(NtChallengeResponseLen)] */
259 uint16_t DomainNameLen;/* [value(ndr_ntlmssp_string_length(NegotiateFlags,DomainName))] */
260 uint16_t DomainNameMaxLen;/* [value(DomainNameLen)] */
261 const char * DomainName;/* [relative,subcontext_size(DomainNameLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] */
262 uint16_t UserNameLen;/* [value(ndr_ntlmssp_string_length(NegotiateFlags,UserName))] */
263 uint16_t UserNameMaxLen;/* [value(UserNameLen)] */
264 const char * UserName;/* [relative,subcontext_size(UserNameLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] */
265 uint16_t WorkstationLen;/* [value(ndr_ntlmssp_string_length(NegotiateFlags,Workstation))] */
266 uint16_t WorkstationMaxLen;/* [value(WorkstationLen)] */
267 const char * Workstation;/* [relative,subcontext_size(WorkstationLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] */
268 uint16_t EncryptedRandomSessionKeyLen;/* [value(EncryptedRandomSessionKey->length)] */
269 uint16_t EncryptedRandomSessionKeyMaxLen;/* [value(EncryptedRandomSessionKeyLen)] */
270 DATA_BLOB *EncryptedRandomSessionKey;/* [relative,subcontext_size(EncryptedRandomSessionKeyLen),subcontext(0)] */
271 uint32_t NegotiateFlags;
272 union ntlmssp_Version Version;/* [switch_is(NegotiateFlags&NTLMSSP_NEGOTIATE_VERSION)] */
273}/* [public,flag(LIBNDR_FLAG_REMAINING)] */;
274
275struct NTLMSSP_MESSAGE_SIGNATURE {
276 uint32_t Version;/* [value(NTLMSSP_SIGN_VERSION)] */
277 uint32_t RandomPad;
278 uint32_t Checksum;
279 uint32_t SeqNum;
280}/* [public] */;
281
282struct NTLMSSP_MESSAGE_SIGNATURE_NTLMv2 {
283 uint32_t Version;/* [value(NTLMSSP_SIGN_VERSION)] */
284 uint8_t Checksum[8];
285 uint32_t SeqNum;
286}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
287
288
289struct decode_NEGOTIATE_MESSAGE {
290 struct {
291 struct NEGOTIATE_MESSAGE negotiate;
292 } in;
293
294};
295
296
297struct decode_CHALLENGE_MESSAGE {
298 struct {
299 struct CHALLENGE_MESSAGE challenge;
300 } in;
301
302};
303
304
305struct decode_AUTHENTICATE_MESSAGE {
306 struct {
307 struct AUTHENTICATE_MESSAGE authenticate;
308 } in;
309
310};
311
312
313struct decode_NTLMv2_CLIENT_CHALLENGE {
314 struct {
315 struct NTLMv2_CLIENT_CHALLENGE challenge;
316 } in;
317
318};
319
320
321struct decode_NTLMv2_RESPONSE {
322 struct {
323 struct NTLMv2_RESPONSE response;
324 } in;
325
326};
327
328#endif /* _HEADER_ntlmssp */
329#endif /* _PIDL_HEADER_ntlmssp */
Note: See TracBrowser for help on using the repository browser.