source: branches/samba-3.2.x/source/librpc/idl/notify.idl

Last change on this file was 133, checked in by Paul Smedley, 18 years ago

Update trunk to 3.2.0pre3

File size: 1.4 KB
Line 
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[
11 pointer_default(unique)
12]
13interface notify
14{
15
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;
25
26 /*
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.
31
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
36 */
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;
43
44 typedef [public] struct {
45 uint32 num_depths;
46 notify_depth depth[num_depths];
47 } notify_array;
48
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;
55
56}
Note: See TracBrowser for help on using the repository browser.