4 IDL structures for notify change code
6 this defines the structures used in the notify database code, and
7 the change notify buffers
10 import
"server_id4.idl";
13 pointer_default(unique)
18 /* structure used in the notify database */
19 typedef [public] struct {
21 uint32 filter
; /* filter to apply in this directory */
22 uint32 subdir_filter
; /* filter to apply in child directories */
24 uint32 path_len
; /* saves some computation on search */
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.
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
41 uint32 max_mask_subdir
;
43 notify_entry entries
[num_entries
];
46 typedef [public] struct {
48 notify_depth depth
[num_depths
];
51 /* structure sent between servers in notify messages */
52 typedef [public] struct {