https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e4cd48813bd0962c067a6…
commit e4cd48813bd0962c067a62e0383d2274c060df63
Author:     Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Sun Mar 25 00:28:04 2018 +0100
Commit:     Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Sun Mar 25 00:28:04 2018 +0100
    [SDK] Add a header for the user-mode NT EventLog API. Addendum to commit dca4fd46 (SVN
r71384).
---
 sdk/include/reactos/undocelfapi.h | 193 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 193 insertions(+)
diff --git a/sdk/include/reactos/undocelfapi.h b/sdk/include/reactos/undocelfapi.h
new file mode 100644
index 0000000000..c24b9cc1c1
--- /dev/null
+++ b/sdk/include/reactos/undocelfapi.h
@@ -0,0 +1,193 @@
+/*
+ * PROJECT:     ReactOS EventLog Service
+ * LICENSE:     GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+)
+ * PURPOSE:     Event logging NT client API.
+ * COPYRIGHT:   Copyright 2016-2018 Hermes Belusca-Maito
+ */
+
+#ifndef _UNDOCELFAPI_H
+#define _UNDOCELFAPI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+NTSTATUS
+NTAPI
+ElfBackupEventLogFileA(
+    IN HANDLE hEventLog,
+    IN PANSI_STRING BackupFileNameA);
+
+NTSTATUS
+NTAPI
+ElfBackupEventLogFileW(
+    IN HANDLE hEventLog,
+    IN PUNICODE_STRING BackupFileNameU);
+
+NTSTATUS
+NTAPI
+ElfClearEventLogFileA(
+    IN HANDLE hEventLog,
+    IN PANSI_STRING BackupFileNameA);
+
+NTSTATUS
+NTAPI
+ElfClearEventLogFileW(
+    IN HANDLE hEventLog,
+    IN PUNICODE_STRING BackupFileNameU);
+
+NTSTATUS
+NTAPI
+ElfCloseEventLog(
+    IN HANDLE hEventLog);
+
+NTSTATUS
+NTAPI
+ElfDeregisterEventSource(
+    IN HANDLE hEventLog);
+
+NTSTATUS
+NTAPI
+ElfNumberOfRecords(
+    IN HANDLE hEventLog,
+    OUT PULONG NumberOfRecords);
+
+NTSTATUS
+NTAPI
+ElfOldestRecord(
+    IN HANDLE hEventLog,
+    OUT PULONG OldestRecordNumber);
+
+NTSTATUS
+NTAPI
+ElfChangeNotify(
+    IN HANDLE hEventLog,
+    IN HANDLE hEvent);
+
+NTSTATUS
+NTAPI
+ElfOpenBackupEventLogA(
+    IN PANSI_STRING UNCServerNameA,
+    IN PANSI_STRING BackupFileNameA,
+    OUT PHANDLE phEventLog);
+
+NTSTATUS
+NTAPI
+ElfOpenBackupEventLogW(
+    IN PUNICODE_STRING UNCServerNameU,
+    IN PUNICODE_STRING BackupFileNameU,
+    OUT PHANDLE phEventLog);
+
+NTSTATUS
+NTAPI
+ElfOpenEventLogA(
+    IN PANSI_STRING UNCServerNameA,
+    IN PANSI_STRING SourceNameA,
+    OUT PHANDLE phEventLog);
+
+NTSTATUS
+NTAPI
+ElfOpenEventLogW(
+    IN PUNICODE_STRING UNCServerNameU,
+    IN PUNICODE_STRING SourceNameU,
+    OUT PHANDLE phEventLog);
+
+NTSTATUS
+NTAPI
+ElfReadEventLogA(
+    IN HANDLE hEventLog,
+    IN ULONG ReadFlags,
+    IN ULONG RecordOffset,
+    OUT LPVOID Buffer,
+    IN ULONG NumberOfBytesToRead,
+    OUT PULONG NumberOfBytesRead,
+    OUT PULONG MinNumberOfBytesNeeded);
+
+NTSTATUS
+NTAPI
+ElfReadEventLogW(
+    IN HANDLE hEventLog,
+    IN ULONG ReadFlags,
+    IN ULONG RecordOffset,
+    OUT LPVOID Buffer,
+    IN ULONG NumberOfBytesToRead,
+    OUT PULONG NumberOfBytesRead,
+    OUT PULONG MinNumberOfBytesNeeded);
+
+NTSTATUS
+NTAPI
+ElfRegisterEventSourceA(
+    IN PANSI_STRING UNCServerNameA,
+    IN PANSI_STRING SourceNameA,
+    OUT PHANDLE phEventLog);
+
+NTSTATUS
+NTAPI
+ElfRegisterEventSourceW(
+    IN PUNICODE_STRING UNCServerNameU,
+    IN PUNICODE_STRING SourceNameU,
+    OUT PHANDLE phEventLog);
+
+NTSTATUS
+NTAPI
+ElfReportEventA(
+    IN HANDLE hEventLog,
+    IN USHORT EventType,
+    IN USHORT EventCategory,
+    IN ULONG EventID,
+    IN PSID UserSID,
+    IN USHORT NumStrings,
+    IN ULONG DataSize,
+    IN PANSI_STRING* Strings,
+    IN PVOID Data,
+    IN USHORT Flags,
+    IN OUT PULONG RecordNumber,
+    IN OUT PULONG TimeWritten);
+
+NTSTATUS
+NTAPI
+ElfReportEventW(
+    IN HANDLE hEventLog,
+    IN USHORT EventType,
+    IN USHORT EventCategory,
+    IN ULONG EventID,
+    IN PSID UserSID,
+    IN USHORT NumStrings,
+    IN ULONG DataSize,
+    IN PUNICODE_STRING* Strings,
+    IN PVOID Data,
+    IN USHORT Flags,
+    IN OUT PULONG RecordNumber,
+    IN OUT PULONG TimeWritten);
+
+NTSTATUS
+NTAPI
+ElfReportEventAndSourceW(
+    IN HANDLE hEventLog,
+    IN ULONG Time,
+    IN PUNICODE_STRING ComputerName,
+    IN USHORT EventType,
+    IN USHORT EventCategory,
+    IN ULONG EventID,
+    IN PSID UserSID,
+    IN PUNICODE_STRING SourceName,
+    IN USHORT NumStrings,
+    IN ULONG DataSize,
+    IN PUNICODE_STRING* Strings,
+    IN PVOID Data,
+    IN USHORT Flags,
+    IN OUT PULONG RecordNumber,
+    IN OUT PULONG TimeWritten);
+
+NTSTATUS
+NTAPI
+ElfFlushEventLog(
+    IN HANDLE hEventLog);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UNDOCELFAPI_H */
+
+/* EOF */