mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
802b282a8f
This adds the notify daemon listening on MSG_SMB_NOTIFY_REC_CHANGE and MSG_SMB_NOTIFY_TRIGGER messages. It relies on ctdbd to distribute the notify database and events in a cluster. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
169 lines
4.5 KiB
Plaintext
169 lines
4.5 KiB
Plaintext
#include "idl_types.h"
|
|
|
|
import "server_id.idl";
|
|
|
|
/*
|
|
IDL structures for messaging code
|
|
*/
|
|
|
|
[
|
|
pointer_default(unique)
|
|
]
|
|
interface messaging
|
|
{
|
|
const int MSG_TYPE_MASK = 0xFFFF;
|
|
|
|
typedef [v1_enum,public] enum {
|
|
|
|
/* general messages */
|
|
MSG_DEBUG = 0x0001,
|
|
MSG_PING = 0x0002,
|
|
MSG_PONG = 0x0003,
|
|
MSG_PROFILE = 0x0004,
|
|
MSG_REQ_DEBUGLEVEL = 0x0005,
|
|
MSG_DEBUGLEVEL = 0x0006,
|
|
MSG_REQ_PROFILELEVEL = 0x0007,
|
|
MSG_PROFILELEVEL = 0x0008,
|
|
MSG_REQ_POOL_USAGE = 0x0009,
|
|
MSG_POOL_USAGE = 0x000A,
|
|
|
|
/* If dmalloc is included, set a steady-state mark */
|
|
MSG_REQ_DMALLOC_MARK = 0x000B,
|
|
|
|
/* If dmalloc is included, dump to the dmalloc log a description of
|
|
* what has changed since the last MARK */
|
|
MSG_REQ_DMALLOC_LOG_CHANGED = 0x000C,
|
|
MSG_SHUTDOWN = 0x000D,
|
|
|
|
/* ID_CACHE_FLUSH = 0x000E, obsoleted */
|
|
ID_CACHE_DELETE = 0x000F,
|
|
ID_CACHE_KILL = 0x0010,
|
|
|
|
/* Changes to smb.conf are really of general interest */
|
|
MSG_SMB_CONF_UPDATED = 0x0021,
|
|
|
|
MSG_PREFORK_CHILD_EVENT = 0x0031,
|
|
MSG_PREFORK_PARENT_EVENT = 0x0032,
|
|
|
|
/* nmbd messages */
|
|
MSG_FORCE_ELECTION = 0x0101,
|
|
MSG_WINS_NEW_ENTRY = 0x0102,
|
|
MSG_SEND_PACKET = 0x0103,
|
|
|
|
/* printing messages */
|
|
/* MSG_PRINTER_NOTIFY = 0x2001, Obsoleted */
|
|
MSG_PRINTER_NOTIFY2 = 0x0202,
|
|
MSG_PRINTER_DRVUPGRADE = 0x0203,
|
|
MSG_PRINTERDATA_INIT_RESET = 0x0204,
|
|
MSG_PRINTER_UPDATE = 0x0205,
|
|
MSG_PRINTER_MOD = 0x0206,
|
|
MSG_PRINTER_PCAP = 0x0207,
|
|
|
|
/* smbd messages */
|
|
/* MSG_SMB_CONF_UPDATED = 0x0301, Obsoleted */
|
|
MSG_SMB_FORCE_TDIS = 0x0302,
|
|
/* MSG_SMB_SAM_SYNC = 0x0303, Obsoleted */
|
|
/* MSG_SMB_SAM_REPL = 0x0304, Obsoleted */
|
|
MSG_SMB_UNLOCK = 0x0305,
|
|
MSG_SMB_BREAK_REQUEST = 0x0306,
|
|
/* MSG_SMB_BREAK_RESPONSE = 0x0307, Obsoleted */
|
|
/* MSG_SMB_ASYNC_LEVEL2_BREAK = 0x0308, Obsoleted */
|
|
/* MSG_SMB_OPEN_RETRY = 0x0309, Obsoleted */
|
|
MSG_SMB_KERNEL_BREAK = 0x030A,
|
|
MSG_SMB_FILE_RENAME = 0x030B,
|
|
MSG_SMB_INJECT_FAULT = 0x030C,
|
|
MSG_SMB_BLOCKING_LOCK_CANCEL = 0x030D,
|
|
MSG_SMB_NOTIFY = 0x030E,
|
|
MSG_SMB_STAT_CACHE_DELETE = 0x030F,
|
|
|
|
/* Samba4 compatibility */
|
|
MSG_PVFS_NOTIFY = 0x0310,
|
|
|
|
/* cluster reconfigure events */
|
|
MSG_SMB_BRL_VALIDATE = 0x0311,
|
|
|
|
/*Close a specific file given a share entry. */
|
|
MSG_SMB_CLOSE_FILE = 0x0313,
|
|
|
|
/* Trigger a notify cleanup run */
|
|
MSG_SMB_NOTIFY_CLEANUP = 0x0314,
|
|
MSG_SMB_SCAVENGER = 0x0315,
|
|
|
|
/* shutdown connection for given client */
|
|
MSG_SMB_KILL_CLIENT_IP = 0x0316,
|
|
|
|
/* Tell number of child processes */
|
|
MSG_SMB_TELL_NUM_CHILDREN = 0x0317,
|
|
MSG_SMB_NUM_CHILDREN = 0x0318,
|
|
|
|
/* Cancel a notify, directory got deleted */
|
|
MSG_SMB_NOTIFY_CANCEL_DELETED = 0x0319,
|
|
|
|
/* notifyd messages */
|
|
MSG_SMB_NOTIFY_REC_CHANGE = 0x031A,
|
|
MSG_SMB_NOTIFY_TRIGGER = 0x031B,
|
|
MSG_SMB_NOTIFY_GET_DB = 0x031C,
|
|
MSG_SMB_NOTIFY_DB = 0x031D,
|
|
MSG_SMB_NOTIFY_REC_CHANGES = 0x031E,
|
|
|
|
/* winbind messages */
|
|
MSG_WINBIND_FINISHED = 0x0401,
|
|
MSG_WINBIND_FORGET_STATE = 0x0402,
|
|
MSG_WINBIND_ONLINE = 0x0403,
|
|
MSG_WINBIND_OFFLINE = 0x0404,
|
|
MSG_WINBIND_ONLINESTATUS = 0x0405,
|
|
MSG_WINBIND_TRY_TO_GO_ONLINE = 0x0406,
|
|
MSG_WINBIND_FAILED_TO_GO_ONLINE = 0x0407,
|
|
MSG_WINBIND_VALIDATE_CACHE = 0x0408,
|
|
MSG_WINBIND_DUMP_DOMAIN_LIST = 0x0409,
|
|
MSG_WINBIND_IP_DROPPED = 0x040A,
|
|
MSG_WINBIND_DOMAIN_ONLINE = 0x040B,
|
|
MSG_WINBIND_DOMAIN_OFFLINE = 0x040C,
|
|
MSG_WINBIND_NEW_TRUSTED_DOMAIN = 0x040D,
|
|
|
|
/* event messages */
|
|
MSG_DUMP_EVENT_LIST = 0x0500,
|
|
|
|
/* smbXsrv messages */
|
|
MSG_SMBXSRV_SESSION_CLOSE = 0x0600,
|
|
|
|
/* source4 and NTVFS smb server messages */
|
|
MSG_BRL_RETRY = 0x0700,
|
|
MSG_PVFS_RETRY_OPEN = 0x0701,
|
|
MSG_IRPC = 0x0702,
|
|
MSG_NTVFS_OPLOCK_BREAK = 0x0703,
|
|
MSG_DREPL_ALLOCATE_RID = 0x0704,
|
|
|
|
/* dbwrap messages 4001-4999 (0x0FA0 - 0x1387) */
|
|
/* MSG_DBWRAP_TDB2_CHANGES = 4001, */
|
|
/* MSG_DBWRAP_G_LOCK_RETRY = 4002, */
|
|
MSG_DBWRAP_MODIFIED = 4003,
|
|
|
|
/*
|
|
* source4 allows new messages to be registered at
|
|
* runtime (currently used in python bindings and in
|
|
* smbtorture). Temporary messaging endpoints are
|
|
* allocated above this line
|
|
*/
|
|
MSG_TMP_BASE = 0xF000
|
|
} messaging_type;
|
|
|
|
/* messaging struct sent across the sockets and stored in the tdb */
|
|
|
|
typedef [public] struct {
|
|
uint32 msg_version;
|
|
messaging_type msg_type;
|
|
server_id dest;
|
|
server_id src;
|
|
DATA_BLOB buf;
|
|
uint8 num_fds;
|
|
dlong fds[num_fds];
|
|
} messaging_rec;
|
|
|
|
typedef [public] struct {
|
|
hyper rec_index;
|
|
uint32 num_recs;
|
|
messaging_rec *recs[num_recs];
|
|
} messaging_reclog;
|
|
}
|