s4:LogonGetDomainInfo - allow to set DNS hostname for the first time
[samba.git] / source4 / librpc / idl / notify.idl
1 #include "idl_types.h"
2
3 /*
4    IDL structures for notify change code
5
6    this defines the structures used in the notify database code, and
7    the change notify buffers
8 */
9
10 import "server_id.idl";
11
12 [
13   pointer_default(unique)
14 ]
15 interface notify
16 {
17
18         /* structure used in the notify database */
19         typedef [public] struct {
20                 server_id server;
21                 uint32 filter; /* filter to apply in this directory */
22                 uint32 subdir_filter; /* filter to apply in child directories */
23                 utf8string path;
24                 uint32 path_len; /* saves some computation on search */
25                 pointer private_data;
26         } notify_entry;
27
28         /*
29           to allow for efficient search for matching entries, we
30           divide them by the directory depth, with a separate array
31           per depth. The entries within each depth are sorted by path,
32           allowing for a bisection search.
33
34           The max_mask and max_mask_subdir at each depth is the
35           bitwise or of the filters and subdir filters for all entries
36           at that depth. This allows a depth to be quickly skipped if
37           no entries will match the target filter         
38         */
39         typedef struct {
40                 uint32 max_mask;
41                 uint32 max_mask_subdir;
42                 uint32 num_entries;
43                 notify_entry entries[num_entries];
44         } notify_depth;
45
46         typedef [public] struct {
47                 uint32 num_depths;
48                 notify_depth depth[num_depths];
49         } notify_array;
50
51         /* structure sent between servers in notify messages */
52         typedef [public] struct {
53                 uint32 action;
54                 utf8string path;
55                 pointer private_data;
56         } notify_event;
57
58 }