Merge branch 'master' of ssh://git.samba.org/data/git/samba into noejs
[kai/samba.git] / source3 / librpc / idl / eventlog.idl
1 #include "idl_types.h"
2
3 /*
4   eventlog interface definition
5 */
6
7 import "lsa.idl", "security.idl";
8
9 [ uuid("82273fdc-e32a-18c3-3f78-827929dc23ea"),
10   version(0.0),
11   helpstring("Event Logger")
12 ] interface eventlog
13 {
14         typedef bitmap {
15                 EVENTLOG_SEQUENTIAL_READ = 0x0001,
16                 EVENTLOG_SEEK_READ       = 0x0002,
17                 EVENTLOG_FORWARDS_READ   = 0x0004,
18                 EVENTLOG_BACKWARDS_READ  = 0x0008
19         } eventlogReadFlags;
20
21         typedef bitmap {
22                 EVENTLOG_SUCCESS          = 0x0000,
23                 EVENTLOG_ERROR_TYPE       = 0x0001,
24                 EVENTLOG_WARNING_TYPE     = 0x0002,
25                 EVENTLOG_INFORMATION_TYPE = 0x0004,
26                 EVENTLOG_AUDIT_SUCCESS    = 0x0008,
27                 EVENTLOG_AUDIT_FAILURE    = 0x0010
28         } eventlogEventTypes;
29
30         typedef struct {
31                 uint16 unknown0;
32                 uint16 unknown1;
33         } eventlog_OpenUnknown0;
34         
35         typedef [public] struct { 
36                 uint32 size;
37                 uint32 reserved;
38                 uint32 record_number;
39                 uint32 time_generated;
40                 uint32 time_written;
41                 uint32 event_id;
42                 uint16 event_type;
43                 uint16 num_of_strings;
44                 uint16 event_category;
45                 uint16 reserved_flags;
46                 uint32 closing_record_number;
47                 uint32 stringoffset;
48                 uint32 sid_length;
49                 uint32 sid_offset;
50                 uint32 data_length;
51                 uint32 data_offset;
52                 nstring source_name;
53                 nstring computer_name;
54                 nstring strings[num_of_strings];
55                 astring raw_data;
56         } eventlog_Record;
57
58         /******************/
59         /* Function: 0x00 */
60         NTSTATUS eventlog_ClearEventLogW(
61                 [in] policy_handle *handle,
62                 [in,unique] lsa_String *backupfile
63         );
64
65         /******************/
66         /* Function: 0x01 */
67         [todo] NTSTATUS eventlog_BackupEventLogW();
68         
69         /******************/
70         /* Function: 0x02 */
71         NTSTATUS eventlog_CloseEventLog(
72                 [in,out] policy_handle *handle
73         );
74
75         /******************/
76         /* Function: 0x03 */
77         [todo] NTSTATUS eventlog_DeregisterEventSource();
78
79         /******************/
80         /* Function: 0x04 */
81         NTSTATUS eventlog_GetNumRecords(
82                 [in] policy_handle *handle,
83                 [out] uint32 *number
84         );
85
86         /******************/
87         /* Function: 0x05 */
88         NTSTATUS eventlog_GetOldestRecord(
89                 [in] policy_handle *handle,
90                 [out,ref] uint32 *oldest_entry
91         );
92
93         /******************/
94         /* Function: 0x06 */
95         [todo] NTSTATUS eventlog_ChangeNotify();
96
97         /******************/
98         /* Function: 0x07 */
99         NTSTATUS eventlog_OpenEventLogW(
100                 [in,unique]         eventlog_OpenUnknown0 *unknown0,
101                 [in,ref]    lsa_String *logname,
102                 [in,ref]    lsa_String *servername,
103                 [in]        uint32 unknown2,
104                 [in]        uint32 unknown3,
105                 [out]   policy_handle *handle
106         );
107
108         /******************/
109         /* Function: 0x08 */
110         [todo] NTSTATUS eventlog_RegisterEventSourceW();
111
112         /******************/
113         /* Function: 0x09 */
114         [todo] NTSTATUS eventlog_OpenBackupEventLogW();
115
116         /******************/
117         /* Function: 0x0a */
118         NTSTATUS eventlog_ReadEventLogW(
119                 [in] policy_handle *handle,
120                 [in] uint32 flags,
121                 [in] uint32 offset,
122                 [in] [range(0,0x7FFFF)] uint32 number_of_bytes,
123                 [out,ref,size_is(number_of_bytes)] uint8 *data,
124                 [out,ref] uint32 *sent_size,
125                 [out,ref] uint32 *real_size
126         );
127
128         /*****************/
129         /* Function 0x0b */
130         [todo] NTSTATUS eventlog_ReportEventW();
131
132         /*****************/
133         /* Function 0x0c */
134         [todo] NTSTATUS eventlog_ClearEventLogA();
135         
136         /******************/
137         /* Function: 0x0d */
138         [todo] NTSTATUS eventlog_BackupEventLogA();
139
140         /*****************/
141         /* Function 0x0e */
142         [todo] NTSTATUS eventlog_OpenEventLogA();
143
144         /*****************/
145         /* Function 0x0f */
146         [todo] NTSTATUS eventlog_RegisterEventSourceA();
147
148         /*****************/
149         /* Function 0x10 */
150         [todo] NTSTATUS eventlog_OpenBackupEventLogA();
151
152         /*****************/
153         /* Function 0x11 */
154         [todo] NTSTATUS eventlog_ReadEventLogA();
155
156         /*****************/
157         /* Function 0x12 */
158         [todo] NTSTATUS eventlog_ReportEventA();
159
160         /*****************/
161         /* Function 0x13 */
162         [todo] NTSTATUS eventlog_RegisterClusterSvc();
163
164         /*****************/
165         /* Function 0x14 */
166         [todo] NTSTATUS eventlog_DeregisterClusterSvc();
167
168         /*****************/
169         /* Function 0x15 */
170         [todo] NTSTATUS eventlog_WriteClusterEvents();
171
172         /*****************/
173         /* Function 0x16 */
174         [todo] NTSTATUS eventlog_GetLogIntormation();
175
176         /*****************/
177         /* Function 0x17 */
178         NTSTATUS eventlog_FlushEventLog(
179                 [in] policy_handle *handle
180         );      
181 }