[SDK] Add a header for the user-mode NT EventLog API. Addendum to commit dca4fd46...
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 24 Mar 2018 23:28:04 +0000 (00:28 +0100)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 24 Mar 2018 23:28:04 +0000 (00:28 +0100)
sdk/include/reactos/undocelfapi.h [new file with mode: 0644]

diff --git a/sdk/include/reactos/undocelfapi.h b/sdk/include/reactos/undocelfapi.h
new file mode 100644 (file)
index 0000000..c24b9cc
--- /dev/null
@@ -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 */