r25068: Older samba3 DCs will return DCERPC_FAULT_OP_RNG_ERROR for every opcode on the
[Samba.git] / source / librpc / idl / notify.idl
blobc4e633c254fe2890555ea96ca71c3e34d5c527b6
1 #include "idl_types.h"
3 /*
4 IDL structures for notify change code
6 this defines the structures used in the notify database code, and
7 the change notify buffers
8 */
11 pointer_default(unique)
13 interface notify
16 /* structure used in the notify database */
17 typedef [public] struct {
18 server_id server;
19 uint32 filter; /* filter to apply in this directory */
20 uint32 subdir_filter; /* filter to apply in child directories */
21 utf8string path;
22 uint32 path_len; /* saves some computation on search */
23 pointer private_data;
24 } notify_entry;
27 to allow for efficient search for matching entries, we
28 divide them by the directory depth, with a separate array
29 per depth. The entries within each depth are sorted by path,
30 allowing for a bisection search.
32 The max_mask and max_mask_subdir at each depth is the
33 bitwise or of the filters and subdir filters for all entries
34 at that depth. This allows a depth to be quickly skipped if
35 no entries will match the target filter
37 typedef struct {
38 uint32 max_mask;
39 uint32 max_mask_subdir;
40 uint32 num_entries;
41 notify_entry entries[num_entries];
42 } notify_depth;
44 typedef [public] struct {
45 uint32 num_depths;
46 notify_depth depth[num_depths];
47 } notify_array;
49 /* structure sent between servers in notify messages */
50 typedef [public] struct {
51 uint32 action;
52 utf8string path;
53 pointer private_data;
54 } notify_event;