/*--- * File: dsapilog.h * Desc: Header file for DSAPI HTTP logging filter. * Auth: Paul D. Ray */ #include #include #include #include #include #include #include "d:\notesapi\include\stats.h" // harcoded to avoid conflict with VC++ stats.h file #include "dsapimod.h" #if !defined(DLLEXPORT) #ifdef WIN32 #define DLLEXPORT __declspec(dllexport) #else #define DLLEXPORT #endif #endif #define HTTP_INFO_SIZE 21 #define MAX_INFO_LEN 256 #define MAX_ENTRY_LEN 512 #define MAX_BUFFER_LEN 4096 #define FILTER_NAME "W3C Extended Log Format Web Logging Filter 1.0" typedef struct { TIMEDATE tdRequest; DWORD dwResponseCode; char szCookie[1024]; } LOGDATA; char g_szLogBuf[MAX_BUFFER_LEN]; char g_szVersionNotes[64]; CRITICAL_SECTION g_csPool; void GetGMTime(TIME *); void WriteLogBuffer(char *, unsigned int); void BuildLogFileName(char *); void BuildLogHeader(char *); void ReplaceString(char *, char, char); DWORD RawRequest(FilterContext *, FilterRawRequest *); DWORD Response(FilterContext *, FilterResponse *); DWORD EndRequest(FilterContext *, FilterParsedRequest *); STATUS LNCALLBACK GetStat(void *, char *, char *, WORD, void *);