1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-04 08:22:08 +03:00

librpc/idr Use the Samba3 notify.idl in common.

The extra fields in the structure that Samba4 does not use should not
bother it.

Andrew Bartlett

Signed-off-by: Andrew Tridgell <tridge@samba.org>
This commit is contained in:
Andrew Bartlett
2011-05-02 11:10:12 +10:00
parent d057116cc2
commit a772797a38
13 changed files with 16 additions and 79 deletions

View File

@ -41,7 +41,7 @@ interface notify
The max_mask and max_mask_subdir at each depth is the The max_mask and max_mask_subdir at each depth is the
bitwise or of the filters and subdir filters for all entries bitwise or of the filters and subdir filters for all entries
at that depth. This allows a depth to be quickly skipped if at that depth. This allows a depth to be quickly skipped if
no entries will match the target filter no entries will match the target filter
*/ */
typedef struct { typedef struct {
uint32 max_mask; uint32 max_mask;

View File

@ -10,6 +10,7 @@ bld.SAMBA_PIDL_LIST('PIDL',
dbgidl.idl dnsserver.idl echo.idl frsrpc.idl lsa.idl nbt.idl dns.idl dbgidl.idl dnsserver.idl echo.idl frsrpc.idl lsa.idl nbt.idl dns.idl
oxidresolver.idl samr.idl server_id.idl srvsvc.idl winreg.idl dcerpc.idl oxidresolver.idl samr.idl server_id.idl srvsvc.idl winreg.idl dcerpc.idl
drsblobs.idl efs.idl frstrans.idl mgmt.idl netlogon.idl drsblobs.idl efs.idl frstrans.idl mgmt.idl netlogon.idl
notify.idl
policyagent.idl scerpc.idl svcctl.idl wkssvc.idl eventlog6.idl backupkey.idl policyagent.idl scerpc.idl svcctl.idl wkssvc.idl eventlog6.idl backupkey.idl
printcap.idl''', printcap.idl''',
options='--header --ndr-parser --samba3-ndr-server --server --client --python', options='--header --ndr-parser --samba3-ndr-server --server --client --python',

View File

@ -202,6 +202,11 @@ bld.SAMBA_SUBSYSTEM('NDR_IDMAP',
public_deps='ndr ndr-standard' public_deps='ndr ndr-standard'
) )
bld.SAMBA_SUBSYSTEM('NDR_NOTIFY',
source='gen_ndr/ndr_notify.c',
public_deps='ndr ndr-standard NDR_SERVER_ID NDR_FILE_ID'
)
bld.SAMBA_SUBSYSTEM('NDR_NTLMSSP', bld.SAMBA_SUBSYSTEM('NDR_NTLMSSP',
source='ndr/ndr_ntlmssp.c gen_ndr/ndr_ntlmssp.c', source='ndr/ndr_ntlmssp.c gen_ndr/ndr_ntlmssp.c',
public_deps='ndr ndr-standard' public_deps='ndr ndr-standard'
@ -312,7 +317,8 @@ bld.SAMBA_LIBRARY('ndr-standard',
pc_files='ndr_standard.pc', pc_files='ndr_standard.pc',
deps='''NDR_SECURITY NDR_LSA NDR_SAMR NDR_NETLOGON NDR_EVENTLOG NDR_DFS deps='''NDR_SECURITY NDR_LSA NDR_SAMR NDR_NETLOGON NDR_EVENTLOG NDR_DFS
NDR_NTSVCS NDR_SVCCTL NDR_INITSHUTDOWN NDR_WKSSVC NDR_SRVSVC NDR_WINREG NDR_NTSVCS NDR_SVCCTL NDR_INITSHUTDOWN NDR_WKSSVC NDR_SRVSVC NDR_WINREG
NDR_ECHO security NDR_DNS NDR_ATSVC NDR_SPOOLSS NDR_DSSETUP''', NDR_ECHO security NDR_DNS NDR_ATSVC NDR_SPOOLSS NDR_DSSETUP
NDR_SERVER_ID NDR_NOTIFY''',
public_deps='ndr', public_deps='ndr',
public_headers='gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/lsa.h gen_ndr/netlogon.h gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h', public_headers='gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/lsa.h gen_ndr/netlogon.h gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h',
header_path='gen_ndr' header_path='gen_ndr'

View File

@ -1604,7 +1604,6 @@ modules:: SHOWFLAGS $(MODULES)
IDL_FILES = librpc/idl/messaging.idl \ IDL_FILES = librpc/idl/messaging.idl \
librpc/idl/libnetapi.idl \ librpc/idl/libnetapi.idl \
librpc/idl/notify.idl \
librpc/idl/wbint.idl \ librpc/idl/wbint.idl \
librpc/idl/perfcount.idl \ librpc/idl/perfcount.idl \
librpc/idl/secrets.idl \ librpc/idl/secrets.idl \

View File

@ -5,7 +5,7 @@ import os
topinclude=os.path.join(bld.srcnode.abspath(), 'librpc/idl') topinclude=os.path.join(bld.srcnode.abspath(), 'librpc/idl')
bld.SAMBA_PIDL_LIST('PIDL', bld.SAMBA_PIDL_LIST('PIDL',
'''messaging.idl libnetapi.idl notify.idl '''messaging.idl libnetapi.idl
perfcount.idl secrets.idl libnet_join.idl''', perfcount.idl secrets.idl libnet_join.idl''',
options='--includedir=%s --header --ndr-parser' % topinclude, options='--includedir=%s --header --ndr-parser' % topinclude,
output_dir='../gen_ndr') output_dir='../gen_ndr')

View File

@ -15,11 +15,6 @@ bld.SAMBA3_SUBSYSTEM('NDR_MESSAGING',
public_deps='ndr NDR_SERVER_ID' public_deps='ndr NDR_SERVER_ID'
) )
bld.SAMBA3_SUBSYSTEM('NDR_NOTIFY3',
source='gen_ndr/ndr_notify.c',
public_deps='ndr NDR_FILE_ID NDR_SERVER_ID'
)
bld.SAMBA3_SUBSYSTEM('NDR_SECRETS', bld.SAMBA3_SUBSYSTEM('NDR_SECRETS',
source='gen_ndr/ndr_secrets.c', source='gen_ndr/ndr_secrets.c',
public_deps='ndr' public_deps='ndr'

View File

@ -888,7 +888,7 @@ bld.SAMBA3_LIBRARY('smbd_base',
PARAM_WITHOUT_REG samba3core LIBSMB POPT_SAMBA3 KRBCLIENT AVAHI PARAM_WITHOUT_REG samba3core LIBSMB POPT_SAMBA3 KRBCLIENT AVAHI
LIBMSRPC_GEN msrpc3 ads LIBADS_SERVER LIBADS_PRINTER LIBMSRPC_GEN msrpc3 ads LIBADS_SERVER LIBADS_PRINTER
vfs vfs_default vfs_posixacl auth rpc LOCKING LIBAFS LIBAFS_SETTOKEN PROFILE vfs vfs_default vfs_posixacl auth rpc LOCKING LIBAFS LIBAFS_SETTOKEN PROFILE
PRINTING PRINTBACKEND NDR_XATTR NDR_NOTIFY3 REGFIO PRINTING PRINTBACKEND NDR_XATTR NDR_NOTIFY REGFIO
smbconf REG_FULL FNAME_UTIL smbconf REG_FULL FNAME_UTIL
LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS
RPC_NDR_SRVSVC npa_tstream INIT_NETLOGON INIT_SAMR RPC_NDR_SRVSVC npa_tstream INIT_NETLOGON INIT_SAMR

View File

@ -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;
}

View File

@ -5,7 +5,7 @@ import os
topinclude=os.path.join(bld.srcnode.abspath(), 'librpc/idl') topinclude=os.path.join(bld.srcnode.abspath(), 'librpc/idl')
bld.SAMBA_PIDL_LIST('PIDL', bld.SAMBA_PIDL_LIST('PIDL',
source='''irpc.idl nfs4acl.idl s4_notify.idl ntp_signd.idl source='''irpc.idl nfs4acl.idl ntp_signd.idl
opendb.idl sasl_helpers.idl winbind.idl opendb.idl sasl_helpers.idl winbind.idl
winsif.idl winsrepl.idl winstation.idl''', winsif.idl winsrepl.idl winstation.idl''',
options="--includedir=%s --header --ndr-parser --client --python --server" % topinclude, options="--includedir=%s --header --ndr-parser --client --python --server" % topinclude,

View File

@ -43,12 +43,6 @@ bld.SAMBA_SUBSYSTEM('NDR_OPENDB',
) )
bld.SAMBA_SUBSYSTEM('NDR_NOTIFY',
source='gen_ndr/ndr_s4_notify.c',
public_deps='ndr NDR_SERVER_ID'
)
bld.SAMBA_SUBSYSTEM('NDR_NTP_SIGND', bld.SAMBA_SUBSYSTEM('NDR_NTP_SIGND',
source='gen_ndr/ndr_ntp_signd.c', source='gen_ndr/ndr_ntp_signd.c',
public_deps='ndr' public_deps='ndr'
@ -69,7 +63,7 @@ bld.SAMBA_SUBSYSTEM('NDR_WINBIND',
# create a grouping library to consolidate our samba4 specific NDR code # create a grouping library to consolidate our samba4 specific NDR code
bld.SAMBA_LIBRARY('ndr-samba4', bld.SAMBA_LIBRARY('ndr-samba4',
source=[], source=[],
deps='NDR_WINBIND NDR_IRPC NDR_NFS4ACL NDR_OPENDB NDR_NOTIFY ndr-table', deps='NDR_WINBIND NDR_IRPC NDR_NFS4ACL NDR_OPENDB ndr-table',
private_library=True, private_library=True,
grouping_library=True grouping_library=True
) )

View File

@ -30,7 +30,7 @@
#include "messaging/messaging.h" #include "messaging/messaging.h"
#include "lib/util/tdb_wrap.h" #include "lib/util/tdb_wrap.h"
#include "lib/messaging/irpc.h" #include "lib/messaging/irpc.h"
#include "librpc/gen_ndr/ndr_s4_notify.h" #include "librpc/gen_ndr/ndr_notify.h"
#include "../lib/util/dlinklist.h" #include "../lib/util/dlinklist.h"
#include "ntvfs/common/ntvfs_common.h" #include "ntvfs/common/ntvfs_common.h"
#include "ntvfs/sysdep/sys_notify.h" #include "ntvfs/sysdep/sys_notify.h"

View File

@ -332,7 +332,7 @@ struct ntvfs_critical_sizes {
struct imessaging_context; struct imessaging_context;
#include "librpc/gen_ndr/security.h" #include "librpc/gen_ndr/security.h"
#include "librpc/gen_ndr/s4_notify.h" #include "librpc/gen_ndr/notify.h"
#include "ntvfs/ntvfs_proto.h" #include "ntvfs/ntvfs_proto.h"
#endif /* _NTVFS_H_ */ #endif /* _NTVFS_H_ */

View File

@ -17,7 +17,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "librpc/gen_ndr/s4_notify.h" #include "librpc/gen_ndr/notify.h"
#include "param/share.h" #include "param/share.h"
struct sys_notify_context; struct sys_notify_context;