Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

Ntlm.h

00001 
00002 #include "LgiNetInc.h"
00003 
00004 
00005 typedef unsigned short  uint16;
00006 #ifdef WIN32
00007 typedef unsigned int    uint32;
00008 #elif LINUX
00009 typedef unsigned int    uint32;
00010 #else
00011 typedef unsigned long   uint32;
00012 #endif
00013 typedef unsigned char   uint8;
00014 
00015 
00016 /* 
00017  * These structures are byte-order dependant, and should not
00018  * be manipulated except by the use of the routines provided
00019  */
00020 
00021 typedef struct
00022 {
00023 uint16  len;
00024 uint16  maxlen;
00025 uint32  offset;
00026 }tSmbStrHeader;
00027 
00028 typedef struct
00029 {
00030 char          ident[8];
00031 uint32        msgType;
00032 uint32        flags;
00033 tSmbStrHeader    user;
00034 tSmbStrHeader    domain;
00035 uint8         buffer[1024];
00036 uint32        bufIndex;
00037 }tSmbNtlmAuthRequest;
00038 
00039 typedef struct
00040 {
00041 char          ident[8];
00042 uint32        msgType;
00043 tSmbStrHeader    uDomain;
00044 uint32        flags;
00045 uint8         challengeData[8];
00046 uint8         reserved[8];
00047 tSmbStrHeader    emptyString;
00048 uint8         buffer[1024];
00049 uint32        bufIndex;
00050 }tSmbNtlmAuthChallenge;
00051 
00052 
00053 typedef struct
00054 {
00055 char          ident[8];
00056 uint32        msgType;
00057 tSmbStrHeader    lmResponse;
00058 tSmbStrHeader    ntResponse;
00059 tSmbStrHeader    uDomain;
00060 tSmbStrHeader    uUser;
00061 tSmbStrHeader    uWks;
00062 tSmbStrHeader    sessionKey;
00063 uint32        flags;
00064 uint8         buffer[1024];
00065 uint32        bufIndex;
00066 }tSmbNtlmAuthResponse;
00067 
00068 /* public: */
00069 
00070 #define SmbLength(ptr) (((ptr)->buffer - (uint8*)(ptr)) + (ptr)->bufIndex)
00071 
00072 extern void dumpSmbNtlmAuthRequest(FILE *fp, tSmbNtlmAuthRequest *request);
00073 extern void dumpSmbNtlmAuthChallenge(FILE *fp, tSmbNtlmAuthChallenge *challenge);
00074 extern void dumpSmbNtlmAuthResponse(FILE *fp, tSmbNtlmAuthResponse *response);
00075 
00076 LgiNetFunc void buildSmbNtlmAuthRequest(tSmbNtlmAuthRequest *request, char *user, char *domain);
00077 LgiNetFunc void buildSmbNtlmAuthResponse(tSmbNtlmAuthChallenge *challenge, tSmbNtlmAuthResponse *response, char *user, char *password);
00078 

Generated on Wed Oct 26 14:46:51 2005 for Lgi by  doxygen 1.4.1