mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
32a36e4703
This optimizes non-recursive notifys. For non-recursive notifies we can use a per-directory file-id indexed notify record. This matters for the Windows Explorer and IIS cases which do not use recursive notifies. In these cases, we do not have to shuffle around the whole notify record on every change. For the cluster case, this improves correctness of the notifies, ctdb only distributes the tdb seqnum once a second, so we can lose notifies.
45 lines
915 B
C
45 lines
915 B
C
/* header auto-generated by pidl */
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "libcli/util/ntstatus.h"
|
|
|
|
#ifndef _HEADER_notify
|
|
#define _HEADER_notify
|
|
|
|
struct notify_entry {
|
|
struct server_id server;
|
|
uint32_t filter;
|
|
uint32_t subdir_filter;
|
|
uint32_t dir_fd;
|
|
struct file_id dir_id;
|
|
const char * path;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
|
|
uint32_t path_len;
|
|
void* private_data;
|
|
}/* [public] */;
|
|
|
|
struct notify_entry_array {
|
|
uint32_t num_entries;
|
|
struct notify_entry *entries;
|
|
}/* [public] */;
|
|
|
|
struct notify_depth {
|
|
uint32_t max_mask;
|
|
uint32_t max_mask_subdir;
|
|
uint32_t num_entries;
|
|
struct notify_entry *entries;
|
|
};
|
|
|
|
struct notify_array {
|
|
uint32_t num_depths;
|
|
struct notify_depth *depth;
|
|
}/* [public] */;
|
|
|
|
struct notify_event {
|
|
uint32_t action;
|
|
const char * path;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
|
|
void* private_data;
|
|
}/* [public] */;
|
|
|
|
#endif /* _HEADER_notify */
|