From 6c726745a4253f35a5d2e016185ba5624fd40644 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 18 May 2010 20:34:20 +1000 Subject: s4:ntvfs rename notify.idl to s4_notify.idl until we can merge this IDL This IDL is almost common, but the source3 version has a hand-marshalled server_id. The s3compat build has problems with two different idl files of the same name. Andrew Bartlett --- source4/librpc/idl/notify.idl | 58 --------------------------------------- source4/librpc/idl/s4_notify.idl | 58 +++++++++++++++++++++++++++++++++++++++ source4/librpc/idl/wscript_build | 2 +- source4/librpc/wscript_build | 2 +- source4/ntvfs/common/notify.c | 2 +- source4/ntvfs/ntvfs.h | 2 +- source4/ntvfs/sysdep/sys_notify.h | 2 +- 7 files changed, 63 insertions(+), 63 deletions(-) delete mode 100644 source4/librpc/idl/notify.idl create mode 100644 source4/librpc/idl/s4_notify.idl diff --git a/source4/librpc/idl/notify.idl b/source4/librpc/idl/notify.idl deleted file mode 100644 index a19f737678..0000000000 --- a/source4/librpc/idl/notify.idl +++ /dev/null @@ -1,58 +0,0 @@ -#include "idl_types.h" - -/* - IDL structures for notify change code - - this defines the structures used in the notify database code, and - the change notify buffers -*/ - -import "server_id.idl"; - -[ - pointer_default(unique) -] -interface notify -{ - - /* structure used in the notify database */ - typedef [public] struct { - server_id server; - uint32 filter; /* filter to apply in this directory */ - uint32 subdir_filter; /* filter to apply in child directories */ - utf8string path; - uint32 path_len; /* saves some computation on search */ - pointer private_data; - } notify_entry; - - /* - to allow for efficient search for matching entries, we - divide them by the directory depth, with a separate array - per depth. The entries within each depth are sorted by path, - allowing for a bisection search. - - The max_mask and max_mask_subdir at each depth is the - bitwise or of the filters and subdir filters for all entries - at that depth. This allows a depth to be quickly skipped if - no entries will match the target filter - */ - typedef struct { - uint32 max_mask; - uint32 max_mask_subdir; - uint32 num_entries; - notify_entry entries[num_entries]; - } notify_depth; - - typedef [public] struct { - uint32 num_depths; - notify_depth depth[num_depths]; - } notify_array; - - /* structure sent between servers in notify messages */ - typedef [public] struct { - uint32 action; - utf8string path; - pointer private_data; - } notify_event; - -} diff --git a/source4/librpc/idl/s4_notify.idl b/source4/librpc/idl/s4_notify.idl new file mode 100644 index 0000000000..1d4c33470d --- /dev/null +++ b/source4/librpc/idl/s4_notify.idl @@ -0,0 +1,58 @@ +#include "idl_types.h" + +/* + IDL structures for notify change code + + this defines the structures used in the notify database code, and + the change notify buffers +*/ + +import "server_id.idl"; + +[ + pointer_default(unique) +] +interface notify +{ + + /* structure used in the notify database */ + typedef [public] struct { + server_id server; + uint32 filter; /* filter to apply in this directory */ + uint32 subdir_filter; /* filter to apply in child directories */ + utf8string path; + uint32 path_len; /* saves some computation on search */ + pointer private_data; + } notify_entry; + + /* + to allow for efficient search for matching entries, we + divide them by the directory depth, with a separate array + per depth. The entries within each depth are sorted by path, + allowing for a bisection search. + + The max_mask and max_mask_subdir at each depth is the + bitwise or of the filters and subdir filters for all entries + at that depth. This allows a depth to be quickly skipped if + no entries will match the target filter + */ + typedef struct { + uint32 max_mask; + uint32 max_mask_subdir; + uint32 num_entries; + notify_entry entries[num_entries]; + } notify_depth; + + typedef [public] struct { + uint32 num_depths; + notify_depth depth[num_depths]; + } notify_array; + + /* structure sent between servers in notify messages */ + typedef [public] struct { + uint32 action; + utf8string path; + pointer private_data; + } notify_event; + +} diff --git a/source4/librpc/idl/wscript_build b/source4/librpc/idl/wscript_build index 0fcb420cbe..4ad30385f5 100644 --- a/source4/librpc/idl/wscript_build +++ b/source4/librpc/idl/wscript_build @@ -1,7 +1,7 @@ #!/usr/bin/env python bld.SAMBA_PIDL_LIST('PIDL', - source='''irpc.idl nfs4acl.idl notify.idl ntp_signd.idl + source='''irpc.idl nfs4acl.idl s4_notify.idl ntp_signd.idl opendb.idl sasl_helpers.idl server_id.idl winbind.idl winsif.idl winsrepl.idl winstation.idl''', options="--includedir=../librpc/idl --header --ndr-parser --client --python --server", diff --git a/source4/librpc/wscript_build b/source4/librpc/wscript_build index 234fe425c9..ab80c09e66 100644 --- a/source4/librpc/wscript_build +++ b/source4/librpc/wscript_build @@ -288,7 +288,7 @@ bld.SAMBA_SUBSYSTEM('NDR_OPENDB', bld.SAMBA_SUBSYSTEM('NDR_NOTIFY', - source='gen_ndr/ndr_notify.c', + source='gen_ndr/ndr_s4_notify.c', public_deps='LIBNDR' ) diff --git a/source4/ntvfs/common/notify.c b/source4/ntvfs/common/notify.c index fdf3aeb305..e369404e85 100644 --- a/source4/ntvfs/common/notify.c +++ b/source4/ntvfs/common/notify.c @@ -30,7 +30,7 @@ #include "messaging/messaging.h" #include "tdb_wrap.h" #include "lib/messaging/irpc.h" -#include "librpc/gen_ndr/ndr_notify.h" +#include "librpc/gen_ndr/ndr_s4_notify.h" #include "../lib/util/dlinklist.h" #include "ntvfs/common/ntvfs_common.h" #include "ntvfs/sysdep/sys_notify.h" diff --git a/source4/ntvfs/ntvfs.h b/source4/ntvfs/ntvfs.h index 02281e749c..31750dca1d 100644 --- a/source4/ntvfs/ntvfs.h +++ b/source4/ntvfs/ntvfs.h @@ -332,7 +332,7 @@ struct ntvfs_critical_sizes { struct messaging_context; #include "librpc/gen_ndr/security.h" -#include "librpc/gen_ndr/notify.h" +#include "librpc/gen_ndr/s4_notify.h" #include "ntvfs/ntvfs_proto.h" #endif /* _NTVFS_H_ */ diff --git a/source4/ntvfs/sysdep/sys_notify.h b/source4/ntvfs/sysdep/sys_notify.h index d912a9bdaf..c474d4e6a0 100644 --- a/source4/ntvfs/sysdep/sys_notify.h +++ b/source4/ntvfs/sysdep/sys_notify.h @@ -17,7 +17,7 @@ along with this program. If not, see . */ -#include "librpc/gen_ndr/notify.h" +#include "librpc/gen_ndr/s4_notify.h" #include "param/share.h" struct sys_notify_context; -- cgit