eliminate GCC warning about initialization order
[reactos.git] / reactos / include / idl / eventlogrpc.idl
1 /*
2 * Copyright (c) 2005 Saveliy Tretiakov (saveliyt@mail.ru)
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 char*
53 #define PLOGHANDLE int*
54 #define NTSTATUS long
55
56 /* Function 0 */
57 NTSTATUS EventLogClearW(
58 handle_t BindingHandle,
59 [in] LOGHANDLE Handle,
60 [in] wchar_t *BackupName);
61
62 /* Function 1 */
63 NTSTATUS EventLogBackupW(
64 handle_t BindingHandle,
65 [in] LOGHANDLE Handle,
66 [in] 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 /* FIXME */
91 NTSTATUS Unknown6(handle_t BindingHandle);
92
93 /* Function 7 */
94 NTSTATUS EventLogOpenW(
95 handle_t BindingHandle,
96 [in] LPWSTR ServerName,
97 [in] wchar_t *FileName,
98 [in] wchar_t *NullStr,
99 [in] unsigned long MajorVer,
100 [in] unsigned long MinorVer,
101 [out] PLOGHANDLE Handle );
102
103 /* Function 8 */
104 NTSTATUS EventLogRegSrcW(
105 handle_t BindingHandle,
106 [in] LPWSTR ServerName,
107 [in] wchar_t *LogName,
108 [in] wchar_t *NullStr,
109 [in] unsigned long MajorVer,
110 [in] unsigned long MinorVer,
111 [out] PLOGHANDLE Handle);
112
113 /* Function 9 */
114 NTSTATUS EventLogOpenBackupW(
115 handle_t BindingHandle,
116 [in] LPWSTR ServerName,
117 [in] wchar_t *BackupName,
118 [in] unsigned long MajorVer,
119 [in] unsigned long MinorVer,
120 [out] PLOGHANDLE Handle);
121
122 /* Function 10 */
123 NTSTATUS EventLogReadW(
124 handle_t BindingHandle,
125 [in] LOGHANDLE Handle,
126 [in] unsigned long Flags,
127 [in] unsigned long Offset,
128 [in] unsigned long BufSize,
129 [out,size_is(BufSize)] unsigned char *Buffer,
130 [out] unsigned long *BytesRead,
131 [out] unsigned long *BytesNeeded);
132
133 /* Function 11 */
134 NTSTATUS EventLogReportEventW(
135 handle_t BindingHandle,
136 [in] LOGHANDLE Handle,
137 [in] unsigned long Time,
138 [in] unsigned short Type,
139 [in] unsigned short Category,
140 [in] unsigned long ID,
141 [in] unsigned short NumStrings,
142 [in] unsigned long DataSize,
143 [in] wchar_t *ComputerName,
144 [in] unsigned char *SID,
145 [in] wchar_t *Strings,
146 [in,size_is(DataSize)] unsigned char *Data,
147 [in] unsigned short Flags);
148
149 /* Function 12 */
150 NTSTATUS EventLogClearA(
151 handle_t BindingHandle,
152 [in] LOGHANDLE Handle,
153 [in] char *BackupName);
154
155 /* Function 13 */
156 NTSTATUS EventLogBackupA(
157 handle_t BindingHandle,
158 [in] LOGHANDLE Handle,
159 [in] char *BackupName);
160
161 /* Function 14 */
162 NTSTATUS EventLogOpenA(
163 handle_t BindingHandle,
164 [in] LPSTR ServerName,
165 [in] char *LogName,
166 [in] char *NullStr,
167 [in] unsigned long MajorVer,
168 [in] unsigned long MinorVer,
169 [out] PLOGHANDLE Handle);
170
171 /* Function 15 */
172 NTSTATUS EventLogRegSrcA(
173 handle_t BindingHandle,
174 [in] LPSTR ServerName,
175 [in] char *LogName,
176 [in] char *NullStr,
177 [in] unsigned long MajorVer,
178 [in] unsigned long MinorVer,
179 [out] PLOGHANDLE Handle);
180
181
182 /* Function 16 */
183 NTSTATUS EventLogOpenBackupA(
184 handle_t BindingHandle,
185 [in] LPSTR ServerName,
186 [in] char *BackupName,
187 [in] unsigned long MajorVer,
188 [in] unsigned long MinorVer,
189 [out] PLOGHANDLE Handle);
190
191 /* Function 17 */
192 NTSTATUS EventLogReadA(
193 handle_t BindingHandle,
194 [in] LOGHANDLE Handle,
195 [in] unsigned long Flags,
196 [in] unsigned long Offset,
197 [in] unsigned long BufSize,
198 [out,size_is(BufSize)] unsigned char *Buffer,
199 [out] unsigned long *BytesRead,
200 [out] unsigned long *BytesNeeded);
201
202 /* Function 18 */
203 NTSTATUS EventLogReportEventA(
204 handle_t BindingHandle,
205 [in] LOGHANDLE Handle,
206 [in] unsigned long Time,
207 [in] unsigned short Type,
208 [in] unsigned short Category,
209 [in] unsigned long ID,
210 [in] unsigned short NumStrings,
211 [in] unsigned long DataSize,
212 [in] char *ComputerName,
213 [in] unsigned char *SID,
214 [in] char* Strings,
215 [in,size_is(DataSize)] unsigned char *Data,
216 [in] unsigned short Flags);
217
218 /* FIXME */
219 NTSTATUS Unknown19(handle_t BindingHandle);
220
221 /* FIXME */
222 NTSTATUS Unknown20(handle_t BindingHandle);
223
224 /* FIXME */
225 NTSTATUS Unknown21(handle_t BindingHandle);
226
227 /* Function 22 */
228 NTSTATUS EventLogGetInfo(
229 handle_t BindingHandle,
230 [in] LOGHANDLE Handle,
231 [in] unsigned long InfoLevel,
232 [out,size_is(BufSize)] unsigned char *Buffer,
233 [in] unsigned long BufSize,
234 [out] unsigned long *BytesNeeded);
235
236 }
237