2 * Copyright 2005 Saveliy Tretiakov
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 uuid(82273FDC-E32A-18C3-3F78-827929DC23EA),
22 pointer_default(unique),
30 typedef [handle, unique] wchar_t *LPWSTR;
31 typedef [handle, unique] char *LPSTR;
33 typedef [context_handle] void *LOGHANDLE;
34 typedef LOGHANDLE *PLOGHANDLE;
35 typedef unsigned int NTSTATUS;
37 typedef struct _UNICODE_STRING {
38 unsigned short Length;
39 unsigned short MaximumLength;
40 [size_is(MaximumLength)] wchar_t *Buffer;
41 } UNICODE_STRING, *PUNICODE_STRING;
43 typedef struct _ANSI_STRING {
44 unsigned short Length;
45 unsigned short MaximumLength;
46 [size_is(MaximumLength)] char *Buffer;
47 } ANSI_STRING, *PANSI_STRING;
50 #define LPWSTR wchar_t*
52 #define LOGHANDLE unsigned int
53 #define PLOGHANDLE unsigned int*
57 NTSTATUS EventLogClearW(
58 handle_t BindingHandle,
59 [in] LOGHANDLE Handle,
60 [in,string] wchar_t *BackupName);
63 NTSTATUS EventLogBackupW(
64 handle_t BindingHandle,
65 [in] LOGHANDLE Handle,
66 [in, string] wchar_t *FileName);
69 NTSTATUS EventLogClose(
70 handle_t BindingHandle,
71 [in,out] PLOGHANDLE Handle);
74 NTSTATUS EventLogUnregSrc(
75 handle_t BindingHandle,
76 [in,out] PLOGHANDLE Handle);
79 NTSTATUS EventLogRecordsNumber(
80 handle_t BindingHandle,
81 [in] LOGHANDLE Handle,
82 [out] unsigned long *RecordsNumber);
85 NTSTATUS EventLogGetOldestRec(
86 handle_t BindingHandle,
87 [in] LOGHANDLE Handle,
88 [out] unsigned long *OldestRecNumber);
91 NTSTATUS EventLogChangeNotify( //FIXME
92 handle_t BindingHandle);
95 NTSTATUS EventLogOpenW(
96 handle_t BindingHandle,
97 [in, string] LPWSTR ServerName,
98 [in, string] wchar_t *FileName,
99 [in, string] wchar_t *NullStr,
100 [in] unsigned long MajorVer,
101 [in] unsigned long MinorVer,
102 [out] PLOGHANDLE Handle );
105 NTSTATUS EventLogRegSrcW(
106 handle_t BindingHandle,
107 [in,string] LPWSTR ServerName,
108 [in,string] wchar_t *LogName,
109 [in,string] wchar_t *NullStr,
110 [in] unsigned long MajorVer,
111 [in] unsigned long MinorVer,
112 [out] PLOGHANDLE Handle);
115 NTSTATUS EventLogOpenBackupW(
116 handle_t BindingHandle,
117 [in,string] LPWSTR ServerName,
118 [in,string] wchar_t *BackupName,
119 [in] unsigned long MajorVer,
120 [in] unsigned long MinorVer,
121 [out] PLOGHANDLE Handle);
124 NTSTATUS EventLogReadW(
125 handle_t BindingHandle,
126 [in] LOGHANDLE Handle,
127 [in] unsigned long Flags,
128 [in] unsigned long Offset,
129 [in] unsigned long BufSize,
130 [out,size_is(BufSize)] unsigned char *Buffer,
131 [out] unsigned long *BytesRead,
132 [out] unsigned long *BytesNeeded);
135 NTSTATUS EventLogReportEventW(
136 handle_t BindingHandle,
137 [in] LOGHANDLE Handle,
138 [in] unsigned long Time,
139 [in] unsigned short Type,
140 [in] unsigned short Category,
141 [in] unsigned long ID,
142 [in] unsigned short NumStrings,
143 [in] unsigned long DataSize,
144 [in,string] wchar_t *ComputerName,
145 [in] unsigned char *SID,
146 [in,string] wchar_t *Strings,
147 [in,size_is(DataSize)] unsigned char *Data,
148 [in] unsigned short Flags,
149 [out] unsigned long *unknown1,
150 [out] unsigned long *unknown2);
153 NTSTATUS EventLogClearA(
154 handle_t BindingHandle,
155 [in] LOGHANDLE Handle,
156 [in,string] char *BackupName);
159 NTSTATUS EventLogBackupA(
160 handle_t BindingHandle,
161 [in] LOGHANDLE Handle,
162 [in,string] char *BackupName);
165 NTSTATUS EventLogOpenA(
166 handle_t BindingHandle,
167 [in,string] LPSTR ServerName,
168 [in,string] char *LogName,
169 [in,string] char *NullStr,
170 [in] unsigned long MajorVer,
171 [in] unsigned long MinorVer,
172 [out] PLOGHANDLE Handle);
175 NTSTATUS EventLogRegSrcA(
176 handle_t BindingHandle,
177 [in,string] LPSTR ServerName,
178 [in,string] char *LogName,
179 [in,string] char *NullStr,
180 [in] unsigned long MajorVer,
181 [in] unsigned long MinorVer,
182 [out] PLOGHANDLE Handle);
185 NTSTATUS EventLogOpenBackupA(
186 handle_t BindingHandle,
187 [in,string] LPSTR ServerName,
188 [in,string] char *BackupName,
189 [in] unsigned long MajorVer,
190 [in] unsigned long MinorVer,
191 [out] PLOGHANDLE Handle);
194 NTSTATUS EventLogReadA(
195 handle_t BindingHandle,
196 [in] LOGHANDLE Handle,
197 [in] unsigned long Flags,
198 [in] unsigned long Offset,
199 [in] unsigned long BufSize,
200 [out,size_is(BufSize)] unsigned char *Buffer,
201 [out] unsigned long *BytesRead,
202 [out] unsigned long *BytesNeeded);
205 NTSTATUS EventLogReportEventA(
206 handle_t BindingHandle,
207 [in] LOGHANDLE Handle,
208 [in] unsigned long Time,
209 [in] unsigned short Type,
210 [in] unsigned short Category,
211 [in] unsigned long ID,
212 [in] unsigned short NumStrings,
213 [in] unsigned long DataSize,
214 [in,string] char *ComputerName,
215 [in] unsigned char *SID,
216 [in,string] char* Strings,
217 [in,size_is(DataSize)] unsigned char *Data,
218 [in] unsigned short Flags,
219 [out] unsigned long * unknown1,
220 [out] unsigned long * unknown2);
223 NTSTATUS EventLogRegisterClusterSvc( //FIXME
224 handle_t BindingHandle);
227 NTSTATUS EventLogDeregisterClusterSvc( //FIXME
228 handle_t BindingHandle);
231 NTSTATUS EventLogWriteClusterEvents( //FIXME
232 handle_t BindingHandle);
235 NTSTATUS EventLogGetInfo(
236 handle_t BindingHandle,
237 [in] LOGHANDLE Handle,
238 [in] unsigned long InfoLevel,
239 [out,size_is(BufSize)] unsigned char *Buffer,
240 [in] unsigned long BufSize,
241 [out] unsigned long *BytesNeeded);
244 NTSTATUS EventLogFlush( //FIXME
245 handle_t BindingHandle);