[EVENTLOG]
[reactos.git] / reactos / base / services / eventlog / eventlog.h
index 1c3a797..2ed6a4f 100644 (file)
@@ -13,6 +13,7 @@
 #define WIN32_NO_STATUS
 
 #include <windows.h>
+#include <netevent.h>
 #include <lpctypes.h>
 #include <lpcfuncs.h>
 #include <rtlfuncs.h>
@@ -44,7 +45,8 @@ typedef struct _IO_ERROR_LPC
 #define ELF_LOGFILE_ARCHIVE_SET 8
 
 /* FIXME: MSDN reads that the following two structs are in winnt.h. Are they? */
-typedef struct _EVENTLOGHEADER {
+typedef struct _EVENTLOGHEADER
+{
     ULONG HeaderSize;
     ULONG Signature;
     ULONG MajorVersion;
@@ -59,7 +61,8 @@ typedef struct _EVENTLOGHEADER {
     ULONG EndHeaderSize;
 } EVENTLOGHEADER, *PEVENTLOGHEADER;
 
-typedef struct _EVENTLOGEOF {
+typedef struct _EVENTLOGEOF
+{
     ULONG RecordSizeBeginning;
     ULONG Ones;
     ULONG Twos;
@@ -72,13 +75,13 @@ typedef struct _EVENTLOGEOF {
     ULONG RecordSizeEnd;
 } EVENTLOGEOF, *PEVENTLOGEOF;
 
-typedef struct
+typedef struct _EVENT_OFFSET_INFO
 {
     ULONG EventNumber;
     ULONG EventOffset;
 } EVENT_OFFSET_INFO, *PEVENT_OFFSET_INFO;
 
-typedef struct
+typedef struct _LOGFILE
 {
     HANDLE hFile;
     EVENTLOGHEADER Header;
@@ -91,13 +94,22 @@ typedef struct
     LIST_ENTRY ListEntry;
 } LOGFILE, *PLOGFILE;
 
-typedef struct
+typedef struct _EVENTSOURCE
 {
+    LIST_ENTRY EventSourceListEntry;
     PLOGFILE LogFile;
-    ULONG CurrentRecord;
-    WCHAR *Name;
+    WCHAR szName[1];
 } EVENTSOURCE, *PEVENTSOURCE;
 
+typedef struct _LOGHANDLE
+{
+    LIST_ENTRY LogHandleListEntry;
+    PEVENTSOURCE EventSource;
+    PLOGFILE LogFile;
+    ULONG CurrentRecord;
+    WCHAR szName[1];
+} LOGHANDLE, *PLOGHANDLE;
+
 /* file.c */
 VOID LogfListInitialize(VOID);
 
@@ -166,6 +178,11 @@ PBYTE LogfAllocAndBuildNewRecord(LPDWORD lpRecSize,
                                  DWORD dwDataSize,
                                  LPVOID lpRawData);
 
+VOID
+LogfReportEvent(WORD wType,
+                WORD wCategory,
+                DWORD dwEventId);
+
 /* eventlog.c */
 extern HANDLE MyHeap;
 
@@ -179,6 +196,17 @@ VOID EventTimeToSystemTime(DWORD EventTime,
 VOID SystemTimeToEventTime(SYSTEMTIME * pSystemTime,
                            DWORD * pEventTime);
 
+/* eventsource.c */
+VOID InitEventSourceList(VOID);
+
+BOOL
+LoadEventSources(HKEY hKey,
+                 PLOGFILE pLogFile);
+
+PEVENTSOURCE
+GetEventSourceByName(LPCWSTR Name);
+
+
 /* logport.c */
 NTSTATUS WINAPI PortThreadRoutine(PVOID Param);