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