Update eventlogrpc.idl
[reactos.git] / reactos / include / reactos / idl / eventlogrpc.idl
1 /*
2 * Copyright 2005 Saveliy Tretiakov
3 *
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.
8 *
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.
13 *
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.
17 */
18
19 [
20 uuid(82273FDC-E32A-18C3-3F78-827929DC23EA),
21 version(0.0),
22 pointer_default(unique),
23 explicit_handle
24 ]
25
26 interface eventlog
27 {
28 /*
29 cpp_quote("#if 0")
30 typedef [handle, unique] wchar_t *LPWSTR;
31 typedef [handle, unique] char *LPSTR;
32 cpp_quote("#endif")
33 typedef [context_handle] void *LOGHANDLE;
34 typedef LOGHANDLE *PLOGHANDLE;
35 typedef unsigned int NTSTATUS;
36
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;
42
43 typedef struct _ANSI_STRING {
44 unsigned short Length;
45 unsigned short MaximumLength;
46 [size_is(MaximumLength)] char *Buffer;
47 } ANSI_STRING, *PANSI_STRING;
48 */
49
50 #define LPWSTR wchar_t*
51 #define LPSTR char*
52 #define LOGHANDLE unsigned int
53 #define PLOGHANDLE unsigned int*
54 #define NTSTATUS long
55
56 /* Function 0 */
57 NTSTATUS EventLogClearW(
58 handle_t BindingHandle,
59 [in] LOGHANDLE Handle,
60 [in,string] wchar_t *BackupName);
61
62 /* Function 1 */
63 NTSTATUS EventLogBackupW(
64 handle_t BindingHandle,
65 [in] LOGHANDLE Handle,
66 [in, string] wchar_t *FileName);
67
68 /* Function 2 */
69 NTSTATUS EventLogClose(
70 handle_t BindingHandle,
71 [in,out] PLOGHANDLE Handle);
72
73 /* Function 3 */
74 NTSTATUS EventLogUnregSrc(
75 handle_t BindingHandle,
76 [in,out] PLOGHANDLE Handle);
77
78 /* Function 4 */
79 NTSTATUS EventLogRecordsNumber(
80 handle_t BindingHandle,
81 [in] LOGHANDLE Handle,
82 [out] unsigned long *RecordsNumber);
83
84 /* Function 5 */
85 NTSTATUS EventLogGetOldestRec(
86 handle_t BindingHandle,
87 [in] LOGHANDLE Handle,
88 [out] unsigned long *OldestRecNumber);
89
90 /* Function 6 */
91 NTSTATUS EventLogChangeNotify( //FIXME
92 handle_t BindingHandle);
93
94 /* Function 7 */
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 );
103
104 /* Function 8 */
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);
113
114 /* Function 9 */
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);
122
123 /* Function 10 */
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);
133
134 /* Function 11 */
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);
151
152 /* Function 12 */
153 NTSTATUS EventLogClearA(
154 handle_t BindingHandle,
155 [in] LOGHANDLE Handle,
156 [in,string] char *BackupName);
157
158 /* Function 13 */
159 NTSTATUS EventLogBackupA(
160 handle_t BindingHandle,
161 [in] LOGHANDLE Handle,
162 [in,string] char *BackupName);
163
164 /* Function 14 */
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);
173
174 /* Function 15 */
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);
183
184 /* Function 16 */
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);
192
193 /* Function 17 */
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);
203
204 /* Function 18 */
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);
221
222 /* Function 19 */
223 NTSTATUS EventLogRegisterClusterSvc( //FIXME
224 handle_t BindingHandle);
225
226 /* Function 20 */
227 NTSTATUS EventLogDeregisterClusterSvc( //FIXME
228 handle_t BindingHandle);
229
230 /* Function 21 */
231 NTSTATUS EventLogWriteClusterEvents( //FIXME
232 handle_t BindingHandle);
233
234 /* Function 22 */
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);
242
243 /* Function 23 */
244 NTSTATUS EventLogFlush( //FIXME
245 handle_t BindingHandle);
246 }
247