Don't terminate a cpp_quote statement with a semicolon. New versions of WIDL will...
[reactos.git] / reactos / include / reactos / idl / eventlogrpc.idl
index fb667c0..9ea222b 100644 (file)
@@ -1,5 +1,5 @@
-/* 
- *  Copyright (c) 2005 Saveliy Tretiakov (saveliyt@mail.ru)  
+/*
+ *  Copyright 2005 Saveliy Tretiakov
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
+
 [
        uuid(82273FDC-E32A-18C3-3F78-827929DC23EA),
        version(0.0),
-       pointer_default(unique),
-       explicit_handle
+       pointer_default(unique)
+#ifndef __midl
+       ,explicit_handle
+#endif
 ]
 
 interface eventlog
 {
-       /*
        cpp_quote("#if 0")
+#ifdef __midl
        typedef [handle, unique] wchar_t *LPWSTR;
        typedef [handle, unique] char *LPSTR;
-       cpp_quote("#endif")
-       typedef [context_handle] void *LOGHANDLE;
-       typedef LOGHANDLE *PLOGHANDLE;
        typedef unsigned int NTSTATUS;
+#else
+       #define LPWSTR wchar_t *
+       #define LPSTR char *
+       #define NTSTATUS long
+#endif
 
+#ifdef __midl
        typedef struct _UNICODE_STRING {
                unsigned short Length;
                unsigned short MaximumLength;
-               [size_is(MaximumLength)] wchar_t *Buffer;
+               [size_is(MaximumLength/2), unique] wchar_t *Buffer;
        } UNICODE_STRING, *PUNICODE_STRING;
 
        typedef struct _ANSI_STRING {
                unsigned short Length;
                unsigned short MaximumLength;
-               [size_is(MaximumLength)] char *Buffer;
+               [size_is(MaximumLength), unique] char *Buffer;
        } ANSI_STRING, *PANSI_STRING;
-       */
-       
-       #define LPWSTR wchar_t*
-       #define LPSTR char*
-       #define LOGHANDLE unsigned char*
-       #define PLOGHANDLE int* 
-       #define NTSTATUS long
-       
-       /* Function 0 */
-       NTSTATUS EventLogClearW(
+#else
+       #define PUNICODE_STRING wchar_t *
+       #define PANSI_STRING char *
+#endif
+       cpp_quote("#endif")
+
+#ifdef __midl
+       typedef [context_handle] struct _LOGHANDLE {
+               int pos;
+       } *LOGHANDLE;
+       typedef LOGHANDLE *PLOGHANDLE;
+#else
+       #define LOGHANDLE unsigned int
+       #define PLOGHANDLE unsigned int*
+       cpp_quote("typedef unsigned int LOGHANDLE, *PLOGHANDLE;")
+#endif
+
+       /* Function 0x00 */
+       NTSTATUS ElfrClearELFW(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] wchar_t *BackupName);
+               [in] PUNICODE_STRING BackupName);
 
-       /* Function 1 */
-       NTSTATUS EventLogBackupW(
+       /* Function 0x01 */
+       NTSTATUS ElfrBackupELFW(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] wchar_t *FileName);
-       
-       /* Function 2 */
-       NTSTATUS EventLogClose(
+               [in] PUNICODE_STRING BackupName);
+
+       /* Function 0x02 */
+       NTSTATUS ElfrCloseEL(
+#ifndef __midl
                handle_t BindingHandle,
-               [in,out] PLOGHANDLE Handle);   
+#endif
+               [in,out] PLOGHANDLE Handle);
 
-       /* Function 3 */
-       NTSTATUS EventLogUnregSrc(
+       /* Function 0x03 */
+       NTSTATUS ElfrDeregisterEventSource(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in,out] PLOGHANDLE Handle);
 
-       /* Function 4 */
-       NTSTATUS EventLogRecordsNumber(
+       /* Function 0x04 */
+       NTSTATUS ElfrNumberOfRecords(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [out] unsigned long *RecordsNumber);
+               [out] long *NumberOfRecords);
 
-       /* Function 5 */
-       NTSTATUS EventLogGetOldestRec(
+       /* Function 0x05 */
+       NTSTATUS ElfrOldestRecord(
+#ifndef __midl
                handle_t BindingHandle,
-               [in] LOGHANDLE Handle,
-               [out] unsigned long *OldestRecNumber);
+#endif
+               [in] LOGHANDLE LogHandle,
+               [out] long *OldestRecNumber);
 
-       /* FIXME */
-       NTSTATUS Unknown6(handle_t BindingHandle);
+       /* Function 0x06 */
+       //NTSTATUS ElfrChangeNotify(); // FIXME
 
-       /* Function 7 */
-       NTSTATUS EventLogOpenW(
+       /* Function 0x07 */
+       NTSTATUS ElfrOpenELW(
+#ifndef __midl
                handle_t BindingHandle,
-               [in] LPWSTR ServerName,
-               [in] wchar_t *FileName, 
-               [in] wchar_t *NullStr, 
-               [in] unsigned long MajorVer,
-               [in] unsigned long MinorVer,
+#endif
+               [in, unique] LPWSTR ServerName,
+               [in] PUNICODE_STRING FileName,
+               [in] PUNICODE_STRING NullStr,
+               [in] long MajorVer,
+               [in] long MinorVer,
                [out] PLOGHANDLE Handle );
-               
-       /* Function 8 */
-       NTSTATUS EventLogRegSrcW(
-               handle_t BindingHandle,
-               [in] LPWSTR ServerName,
-               [in] wchar_t *LogName, 
-               [in] wchar_t *NullStr, 
-               [in] unsigned long MajorVer,
-               [in] unsigned long MinorVer,
+
+       /* Function 0x08 */
+       NTSTATUS ElfrRegisterEventSourceW(
+#ifndef __midl
+               handle_t BindingHandle,
+#endif
+               [in, unique] LPWSTR ServerName,
+               [in] PUNICODE_STRING LogName,
+               [in] PUNICODE_STRING NullStr,
+               [in] long MajorVer,
+               [in] long MinorVer,
                [out] PLOGHANDLE Handle);
-               
-       /* Function 9 */
-       NTSTATUS EventLogOpenBackupW(
-               handle_t BindingHandle,
-               [in] LPWSTR ServerName,
-               [in] wchar_t *BackupName, 
-               [in] unsigned long MajorVer,
-               [in] unsigned long MinorVer,
+
+       /* Function 0x09 */
+       NTSTATUS ElfrOpenBELW(
+#ifndef __midl
+               handle_t BindingHandle,
+#endif
+               [in, unique] LPWSTR ServerName,
+               [in] PUNICODE_STRING BackupName,
+               [in] long MajorVer,
+               [in] long MinorVer,
                [out] PLOGHANDLE Handle);
 
-       /* Function 10 */
-       NTSTATUS EventLogReadW(
+       /* Function 0x0a */
+       NTSTATUS ElfrReadELW(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] unsigned long Flags,
-               [in] unsigned long Offset,
-               [in] unsigned long BufSize,
+               [in] long Flags,
+               [in] long Offset,
+               [in] long BufSize,
                [out,size_is(BufSize)] unsigned char *Buffer,
-               [out] unsigned long *BytesRead,
-               [out] unsigned long *BytesNeeded);
+               [out] long *BytesRead,
+               [out] long *BytesNeeded);
 
-       /* Function 11 */
-       NTSTATUS EventLogReportEventW(
+       /* Function 0x0b */
+       NTSTATUS ElfrReportEventW(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] unsigned long Time,
-               [in] unsigned short Type,
-               [in] unsigned short Category,
-               [in] unsigned long ID,
-               [in] unsigned short NumStrings,
-               [in] unsigned long DataSize,
-               [in] wchar_t *ComputerName,
-               [in] unsigned char *SID,
-               [in] wchar_t *Strings,
-               [in,size_is(DataSize)] unsigned char *Data,
-               [in] unsigned short Flags);
-               
-       /* Function 12 */
-       NTSTATUS EventLogClearA(
+               [in] long Time,
+               [in] short Type,
+               [in] short Category,
+               [in] long ID,
+               [in] short NumStrings,
+               [in] long DataSize,
+               [in] PUNICODE_STRING ComputerName,
+               [in, unique] unsigned char *SID,
+#ifdef __midl
+               [in, size_is(NumStrings), unique] PUNICODE_STRING Strings[*],
+#else
+               [in, size_is(NumStrings), unique] PUNICODE_STRING *Strings,
+#endif
+               [in, size_is(DataSize), unique] unsigned char *Data,
+               [in] short Flags,
+               [in,out,unique] long *unknown1,
+               [in,out,unique] long *unknown2);
+
+       /* Function 0x0c */
+       NTSTATUS ElfrClearELFA(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] char *BackupName);
+               [in,unique] PANSI_STRING BackupName);
 
-       /* Function 13 */
-       NTSTATUS EventLogBackupA(
+       /* Function 0x0d */
+       NTSTATUS ElfrBackupELFA(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] char *BackupName);
+               [in] PANSI_STRING BackupName);
 
-       /* Function 14 */
-       NTSTATUS EventLogOpenA(
+       /* Function 0x0e */
+       NTSTATUS ElfrOpenELA(
+#ifndef __midl
                handle_t BindingHandle,
-               [in] LPSTR ServerName,
-               [in] char *LogName, 
-               [in] char *NullStr, 
-               [in] unsigned long MajorVer,
-               [in] unsigned long MinorVer,
+#endif
+               [in, unique] LPSTR ServerName,
+               [in] PANSI_STRING LogName,
+               [in] PANSI_STRING NullStr,
+               [in] long MajorVer,
+               [in] long MinorVer,
                [out] PLOGHANDLE Handle);
 
-       /* Function 15 */
-       NTSTATUS EventLogRegSrcA(
+       /* Function 0x0f */
+       NTSTATUS ElfrRegisterEventSourceA(
+#ifndef __midl
                handle_t BindingHandle,
-               [in] LPSTR ServerName,
-               [in] char *LogName, 
-               [in] char *NullStr,
-               [in] unsigned long MajorVer,
-               [in] unsigned long MinorVer,
+#endif
+               [in, unique] LPSTR ServerName,
+               [in] PANSI_STRING LogName,
+               [in] PANSI_STRING NullStr,
+               [in] long MajorVer,
+               [in] long MinorVer,
                [out] PLOGHANDLE Handle);
 
-
-       /* Function 16 */
-       NTSTATUS EventLogOpenBackupA(
+       /* Function 0x10 */
+       NTSTATUS ElfrOpenBELA(
+#ifndef __midl
                handle_t BindingHandle,
-               [in] LPSTR ServerName,
-               [in] char *BackupName, 
-               [in] unsigned long MajorVer,
-               [in] unsigned long MinorVer,
+#endif
+               [in, unique] LPSTR ServerName,
+               [in] PANSI_STRING BakckupName,
+               [in] long MajorVer,
+               [in] long MinorVer,
                [out] PLOGHANDLE Handle);
 
-       /* Function 17 */
-       NTSTATUS EventLogReadA(
+       /* Function 0x11 */
+       NTSTATUS ElfrReadELA(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] unsigned long Flags,
-               [in] unsigned long Offset,
-               [in] unsigned long BufSize,
+               [in] long Flags,
+               [in] long Offset,
+               [in] long BufSize,
                [out,size_is(BufSize)] unsigned char *Buffer,
-               [out] unsigned long *BytesRead,
-               [out] unsigned long *BytesNeeded);
+               [out] long *BytesRead,
+               [out] long *BytesNeeded);
 
-       /* Function 18 */
-       NTSTATUS EventLogReportEventA(
+       /* Function 0x12 */
+       NTSTATUS ElfrReportEventA(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] unsigned long Time,
-               [in] unsigned short Type,
-               [in] unsigned short Category,
-               [in] unsigned long ID,
-               [in] unsigned short NumStrings,
-               [in] unsigned long DataSize,
-               [in] char *ComputerName,
-               [in] unsigned char *SID,
-               [in] char* Strings,
-               [in,size_is(DataSize)] unsigned char *Data,
-               [in] unsigned short Flags);
-               
-       /* FIXME */
-       NTSTATUS Unknown19(handle_t BindingHandle);
-       
-       /* FIXME */
-       NTSTATUS Unknown20(handle_t BindingHandle);
-
-       /* FIXME */
-       NTSTATUS Unknown21(handle_t BindingHandle);
-
-       /* Function 22 */
-       NTSTATUS EventLogGetInfo(
+               [in] long Time,
+               [in] short Type,
+               [in] short Category,
+               [in] long ID,
+               [in] short NumStrings,
+               [in] long DataSize,
+               [in] PANSI_STRING ComputerName,
+               [in, unique] unsigned char *SID,
+#ifdef __midl
+               [in, size_is(NumStrings), unique] PANSI_STRING Strings[*],
+#else
+               [in, size_is(NumStrings), unique] PANSI_STRING *Strings,
+#endif
+               [in, size_is(DataSize), unique] unsigned char *Data,
+               [in] short Flags,
+               [in,out,unique] long *unknown1,
+               [in,out,unique] long *unknown2);
+
+       /* Function 0x13 */
+       //NTSTATUS ElfrRegisterClusterSvc(); //FIXME
+
+       /* Function 0x14 */
+       //NTSTATUS ElfrDeregisterClusterSvc(); //FIXME
+
+       /* Function 0x15 */
+       //NTSTATUS ElfrWriteClusterEvents(); //FIXME
+
+       /* Function 0x16 */
+       NTSTATUS ElfrGetLogInformation(
+#ifndef __midl
                handle_t BindingHandle,
+#endif
                [in] LOGHANDLE Handle,
-               [in] unsigned long InfoLevel,
-               [out,size_is(BufSize)] unsigned char *Buffer,
-               [in] unsigned long BufSize,
-               [out] unsigned long *BytesNeeded);
+               [in] long InfoLevel,
+               [out, size_is(BufSize)] unsigned char *Buffer,
+               [in] long BufSize,
+               [out] long *BytesNeeded);
 
-}
+       /* Function 0x17 */
+       NTSTATUS ElfrFlushEL(
+#ifndef __midl
+               handle_t BindingHandle,
+#endif
+               [in] LOGHANDLE Handle);
 
+}