1 #ifndef _FSSH_NODE_MONITOR_H
2 #define _FSSH_NODE_MONITOR_H
3 /* Node monitor calls for kernel add-ons
5 ** Distributed under the terms of the MIT License.
12 /* Flags for the watch_node() call.
14 * Note that B_WATCH_MOUNT is NOT included in B_WATCH_ALL.
15 * You may prefer to use BVolumeRoster for volume watching.
19 FSSH_B_STOP_WATCHING
= 0x0000,
20 FSSH_B_WATCH_NAME
= 0x0001,
21 FSSH_B_WATCH_STAT
= 0x0002,
22 FSSH_B_WATCH_ATTR
= 0x0004,
23 FSSH_B_WATCH_DIRECTORY
= 0x0008,
24 FSSH_B_WATCH_ALL
= 0x000f,
26 FSSH_B_WATCH_MOUNT
= 0x0010,
27 FSSH_B_WATCH_INTERIM_STAT
= 0x0020
31 /* The "opcode" field of the B_NODE_MONITOR notification message you get.
33 * The presence and meaning of the other fields in that message specifying what
34 * exactly caused the notification depend on this value.
37 #define FSSH_B_ENTRY_CREATED 1
38 #define FSSH_B_ENTRY_REMOVED 2
39 #define FSSH_B_ENTRY_MOVED 3
40 #define FSSH_B_STAT_CHANGED 4
41 #define FSSH_B_ATTR_CHANGED 5
42 #define FSSH_B_DEVICE_MOUNTED 6
43 #define FSSH_B_DEVICE_UNMOUNTED 7
46 // More specific info in the "cause" field of B_ATTR_CHANGED notification
47 // messages. (Haiku only)
48 #define FSSH_B_ATTR_CREATED 1
49 #define FSSH_B_ATTR_REMOVED 2
50 // FSSH_B_ATTR_CHANGED is reused
53 // More specific info in the "fields" field of B_STAT_CHANGED notification
54 // messages, specifying what parts of the stat data have actually been
55 // changed. (Haiku only)
57 FSSH_B_STAT_MODE
= 0x0001,
58 FSSH_B_STAT_UID
= 0x0002,
59 FSSH_B_STAT_GID
= 0x0004,
60 FSSH_B_STAT_SIZE
= 0x0008,
61 FSSH_B_STAT_ACCESS_TIME
= 0x0010,
62 FSSH_B_STAT_MODIFICATION_TIME
= 0x0020,
63 FSSH_B_STAT_CREATION_TIME
= 0x0040,
64 FSSH_B_STAT_CHANGE_TIME
= 0x0080,
65 FSSH_B_STAT_INTERIM_UPDATE
= 0x1000
69 #endif /* _FSSH_NODE_MONITOR_H */