r6973: Merge new version of pidl into the main SAMBA_4_0 branch.
[samba.git] / source / librpc / idl / eventlog.idl
1 #include "idl_types.h"
2
3 /*
4   eventlog interface definition
5 */
6 [ uuid("82273fdc-e32a-18c3-3f78-827929dc23ea"),
7   version(0.0),
8   depends(security),
9   pointer_default(unique),
10   pointer_default_top(unique),
11   helpstring("Event Logger")
12 ] interface eventlog
13 {
14         typedef struct {
15                 uint16 unknown0;
16                 uint16 unknown1;
17         } eventlog_OpenUnknown0;
18
19         typedef struct {
20                 [value(2*strlen_m(r->name))] uint16 name_len;
21                 [value(r->name_len)]       uint16 name_size;
22                 unistr_noterm *name;
23         } eventlog_String;
24
25         typedef struct { 
26                 uint32 size;
27                 uint32 reserved;
28                 uint32 recordnumber;
29                 uint32 creationtime;
30                 uint32 writetime;
31                 uint32 eventnumber;
32                 uint16 eventtype;
33                 uint16 num_of_strings;
34                 uint16 category;
35                 uint16 reserved_flag;
36                 uint32 closingrecord;
37                 uint32 stringoffset;
38                 [size_is(num_of_strings)] eventlog_String bla[*];
39                 uint32 sid_length;
40                 [length_is(sid_length)] dom_sid *sids[];
41                 uint32 data_length;
42                 [length_is(data_length)] uint8 *data[];
43                 unistr *source_name;
44                 unistr *machine_name;
45         } eventlog_Record;
46
47         /******************/
48         /* Function: 0x00 */
49         NTSTATUS eventlog_ClearEventLogW();
50
51         /******************/
52         /* Function: 0x01 */
53         NTSTATUS eventlog_BackupEventLogW();
54         
55         /******************/
56         /* Function: 0x02 */
57         [id(3)] NTSTATUS eventlog_CloseEventLog(
58                                                                         [in,out,ref]     policy_handle *handle
59                                                                    );
60
61
62         /******************/
63         /* Function: 0x03 */
64         NTSTATUS eventlog_DeregisterEventSource();
65
66         /******************/
67         /* Function: 0x04 */
68         NTSTATUS eventlog_GetNumRecords(
69                                                                         [in,ref]     policy_handle *handle,
70                                                                         [out]            uint32 number
71                                                                    );
72         /******************/
73         /* Function: 0x05 */
74         NTSTATUS eventlog_GetOldestRecord();
75
76         /******************/
77         /* Function: 0x06 */
78         NTSTATUS eventlog_ChangeNotify();
79
80         /******************/
81         /* Function: 0x07 */
82         NTSTATUS eventlog_OpenEventLogW(
83                                                                    [in]     eventlog_OpenUnknown0 *unknown0,
84                                                                    [in]     eventlog_String source,
85                                                                    [in]     eventlog_String unknown1,
86                                                                    [in]     uint32 unknown2,
87                                                                    [in]     uint32 unknown3,
88                                                                    [out,ref]   policy_handle *handle
89                                                                   );
90
91         /******************/
92         /* Function: 0x08 */
93         NTSTATUS eventlog_RegisterEventSourceW();
94
95         /******************/
96         /* Function: 0x09 */
97         NTSTATUS eventlog_OpenBackupEventLogW();
98
99         /******************/
100         /* Function: 0x0a */
101         NTSTATUS eventlog_ReadEventLogW(
102                                                                    [in,ref]     policy_handle *handle,
103                                                                    [in]                 uint32 flags,
104                                                                    [in]                 uint32 offset,
105                                                                    [in,out]             uint32 number_of_bytes,
106                                                                    [out,ref,size_is(number_of_bytes)]           uint8 *data[],
107                                                                    [out]                uint32 sent_size,
108                                                                    [out]                uint32 real_size
109                                                                   );
110
111         /*****************/
112         /* Function 0x0b */
113         NTSTATUS eventlog_ReportEventW();
114
115         /*****************/
116         /* Function 0x0c */
117         NTSTATUS eventlog_ClearEventLogA();
118         
119         /******************/
120         /* Function: 0x0d */
121         NTSTATUS eventlog_BackupEventLogA();
122
123         /*****************/
124         /* Function 0x0e */
125         NTSTATUS eventlog_OpenEventLogA();
126
127         /*****************/
128         /* Function 0x0f */
129         NTSTATUS eventlog_RegisterEventSourceA();
130
131         /*****************/
132         /* Function 0x10 */
133         NTSTATUS eventlog_OpenBackupEventLogA();
134
135         /*****************/
136         /* Function 0x11 */
137         NTSTATUS eventlog_ReadEventLogA();
138
139         /*****************/
140         /* Function 0x12 */
141         NTSTATUS eventlog_ReportEventA();
142
143         /*****************/
144         /* Function 0x13 */
145         NTSTATUS eventlog_RegisterClusterSvc();
146
147         /*****************/
148         /* Function 0x14 */
149         NTSTATUS eventlog_DeregisterClusterSvc();
150
151         /*****************/
152         /* Function 0x15 */
153         NTSTATUS eventlog_WriteClusterEvents();
154
155         /*****************/
156         /* Function 0x16 */
157         NTSTATUS eventlog_GetLogIntormation();
158
159         /*****************/
160         /* Function 0x17 */
161         NTSTATUS eventlog_FlushEventLog();
162         
163 }