00001 typedef unsigned short uint16;
00002 typedef unsigned uint32;
00003 typedef unsigned char uint8;
00004
00005 typedef struct
00006 {
00007 uint16 len;
00008 uint16 maxlen;
00009 uint32 offset;
00010 }tSmbStrHeader;
00011
00012 typedef struct
00013 {
00014 char ident[8];
00015 uint32 msgType;
00016 uint32 flags;
00017 tSmbStrHeader user;
00018 tSmbStrHeader domain;
00019 uint8 buffer[1024];
00020 uint32 bufIndex;
00021 }tSmbNtlmAuthRequest;
00022
00023 typedef struct
00024 {
00025 char ident[8];
00026 uint32 msgType;
00027 tSmbStrHeader uDomain;
00028 uint32 flags;
00029 uint8 challengeData[8];
00030 uint8 reserved[8];
00031 tSmbStrHeader emptyString;
00032 uint8 buffer[1024];
00033 uint32 bufIndex;
00034 }tSmbNtlmAuthChallenge;
00035
00036
00037 typedef struct
00038 {
00039 char ident[8];
00040 uint32 msgType;
00041 tSmbStrHeader lmResponse;
00042 tSmbStrHeader ntResponse;
00043 tSmbStrHeader uDomain;
00044 tSmbStrHeader uUser;
00045 tSmbStrHeader uWks;
00046 tSmbStrHeader sessionKey;
00047 uint32 flags;
00048 uint8 buffer[1024];
00049 uint32 bufIndex;
00050 }tSmbNtlmAuthResponse;
00051
00052 #define SmbLength(ptr) (((ptr)->buffer - (uint8*)(ptr)) + (ptr)->bufIndex)