1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _ILOGOBJ_HXX_
7 #define _ILOGOBJ_HXX_
8 
9 #define NCSALOG_CLSID TEXT("{FF16065F-DE82-11CF-BC0A-00AA006111E0}")
10 #define ODBCLOG_CLSID TEXT("{FF16065B-DE82-11CF-BC0A-00AA006111E0}")
11 #define ASCLOG_CLSID TEXT("{FF160657-DE82-11CF-BC0A-00AA006111E0}")
12 #define EXTLOG_CLSID TEXT("{FF160663-DE82-11CF-BC0A-00AA006111E0}")
13 
14 #define NCSALOGUI_CLSID TEXT("{31DCAB85-BB3E-11d0-9299-00C04FB6678B}")
15 #define ODBCLOGUI_CLSID TEXT("{31DCAB86-BB3E-11d0-9299-00C04FB6678B}")
16 #define ASCLOGUI_CLSID TEXT("{31DCAB87-BB3E-11d0-9299-00C04FB6678B}")
17 #define EXTLOGUI_CLSID TEXT("{31DCAB88-BB3E-11d0-9299-00C04FB6678B}")
18 
19 DEFINE_GUID(IID_IINETLOG_INFORMATION,0xcc557a71,0xf61a,0x11cf,0xbc,0x0f,0x00,0xaa,0x00,0x61,0x11,0xe0);
20 DEFINE_GUID(IID_ILogPlugin,0x08fd99d1,0xcfb6,0x11cf,0xbc,0x03,0x00,0xaa,0x00,0x61,0x11,0xe0);
21 DEFINE_GUID(IID_ILogPluginEx,0x3710e192,0x9c25,0x11d1,0x8b,0x9a,0x8,0x0,0x9,0xdc,0xc2,0xfa);
22 DEFINE_GUID(CLSID_NCSALOG,0xff16065F,0xde82,0x11cf,0xbc,0x0a,0x00,0xaa,0x00,0x61,0x11,0xe0);
23 DEFINE_GUID(CLSID_ODBCLOG,0xff16065B,0xde82,0x11cf,0xbc,0x0a,0x00,0xaa,0x00,0x61,0x11,0xe0);
24 DEFINE_GUID(CLSID_ASCLOG,0xff160657,0xde82,0x11cf,0xbc,0x0a,0x00,0xaa,0x00,0x61,0x11,0xe0);
25 DEFINE_GUID(CLSID_EXTLOG,0xff160663,0xde82,0x11cf,0xbc,0x0a,0x00,0xaa,0x00,0x61,0x11,0xe0);
26 DEFINE_GUID(IID_LOGGINGUI,0x31dcab89,0xbb3e,0x11d0,0x92,0x99,0x0,0xc0,0x4f,0xb6,0x67,0x8b);
27 DEFINE_GUID(IID_LOGGINGUI2,0xfae6e2a8,0xbf79,0x4ac6,0xaa,0x58,0x71,0x34,0x7c,0x92,0xd5,0x93);
28 DEFINE_GUID(CLSID_NCSALOGUI,0x31dcab85,0xbb3e,0x11d0,0x92,0x99,0x0,0xc0,0x4f,0xb6,0x67,0x8b);
29 DEFINE_GUID(CLSID_ODBCLOGUI,0x31dcab86,0xbb3e,0x11d0,0x92,0x99,0x0,0xc0,0x4f,0xb6,0x67,0x8b);
30 DEFINE_GUID(CLSID_ASCLOGUI,0x31dcab87,0xbb3e,0x11d0,0x92,0x99,0x0,0xc0,0x4f,0xb6,0x67,0x8b);
31 DEFINE_GUID(CLSID_EXTLOGUI,0x31dcab88,0xbb3e,0x11d0,0x92,0x99,0x0,0xc0,0x4f,0xb6,0x67,0x8b);
32 DEFINE_GUID(IID_ICLAPI_CLIENT,0x08fd99d1,0xcfb6,0x11cf,0xbc,0x03,0x00,0xaa,0x00,0x61,0x11,0xe0);
33 DEFINE_GUID(CLSID_InetLogInformation,0xa1f89741,0xf619,0x11cf,0xbc,0xf,0x0,0xaa,0x0,0x61,0x11,0xe0);
34 
35 class IInetLogInformation : public IUnknown {
36 public:
37   virtual LPSTR WINAPI GetSiteName(PCHAR pszSiteName,PDWORD pcbSize) = 0;
38   virtual LPSTR WINAPI GetComputerName(PCHAR pszComputerName,PDWORD pcbSize) = 0;
39   virtual LPSTR WINAPI GetClientHostName(PCHAR pszClientHostName,PDWORD pcbSize) = 0;
40   virtual LPSTR WINAPI GetClientUserName(PCHAR pszClientUserName,PDWORD pcbSize) = 0;
41   virtual LPSTR WINAPI GetServerAddress(PCHAR pszServerIPAddress,PDWORD pcbSize) = 0;
42   virtual LPSTR WINAPI GetOperation(PCHAR pszOperation,PDWORD pcbSize) = 0;
43   virtual LPSTR WINAPI GetTarget(PCHAR pszTarget,PDWORD pcbSize) = 0;
44   virtual LPSTR WINAPI GetParameters(PCHAR pszParameters,PDWORD pcbSize) = 0;
45   virtual LPSTR WINAPI GetExtraHTTPHeaders(PCHAR pszHTTPHeaders,PDWORD pcbSize) = 0;
46   virtual DWORD WINAPI GetTimeForProcessing(VOID) = 0;
47   virtual DWORD WINAPI GetBytesSent(VOID) = 0;
48   virtual DWORD WINAPI GetBytesRecvd(VOID) = 0;
49   virtual DWORD WINAPI GetWin32Status(VOID) = 0;
50   virtual DWORD WINAPI GetProtocolStatus(VOID) = 0;
51   virtual DWORD WINAPI GetPortNumber(VOID) = 0;
52   virtual LPSTR WINAPI GetVersionString(PCHAR pszVersionString,PDWORD pcbSize) = 0;
53 };
54 
55 class ILogPlugin : public IUnknown {
56 public:
57   virtual HRESULT WINAPI InitializeLog(LPCSTR SiteName,LPCSTR MetabasePath,PCHAR pvIMDCOM) = 0;
58   virtual HRESULT WINAPI TerminateLog(VOID) = 0;
59   virtual HRESULT WINAPI LogInformation(IInetLogInformation *pLogObj) = 0;
60   virtual HRESULT WINAPI SetConfig(DWORD cbSize,PBYTE Log) = 0;
61   virtual HRESULT WINAPI GetConfig(DWORD cbSize,PBYTE Log) = 0;
62   virtual HRESULT WINAPI QueryExtraLoggingFields(PDWORD cbSize,PCHAR szParameters) = 0;
63 };
64 
65 class ILogUIPlugin : public IUnknown {
66 public:
67   virtual HRESULT WINAPI OnProperties(OLECHAR *pocMachineName,OLECHAR *pocMetabasePath) = 0;
68 };
69 
70 class ILogUIPlugin2 : public ILogUIPlugin {
71 public:
72   virtual HRESULT WINAPI OnPropertiesEx(OLECHAR *pocMachineName,OLECHAR *pocMetabasePath,OLECHAR *pocUserName,OLECHAR *pocUserPassword) = 0;
73 };
74 
75 #ifndef _LOGTYPE_H_
76 typedef struct _CUSTOM_LOG_DATA {
77   LPCSTR szPropertyPath;
78   PVOID pData;
79 } CUSTOM_LOG_DATA,*PCUSTOM_LOG_DATA;
80 #endif
81 
82 class ILogPluginEx : public ILogPlugin {
83 public:
84   virtual HRESULT WINAPI LogCustomInformation(DWORD cCount,PCUSTOM_LOG_DATA pCustomLogData,LPSTR szHeaderSuffix) = 0;
85 };
86 #endif
87