source: vendor/current/source4/librpc/idl/s4_notify.idl@ 740

Last change on this file since 740 was 740, checked in by Silvan Scherrer, 12 years ago

Samba Server: update vendor to 3.6.0

File size: 1.5 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
10import "server_id4.idl";
11
12[
13 pointer_default(unique)
14]
15interface 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}
Note: See TracBrowser for help on using the repository browser.