Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs.

Fix copy right.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39131 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Clemens Zeidler
2010-10-24 20:47:46 +00:00
parent 9de5b02252
commit 4a5a077ff7
10 changed files with 76 additions and 14 deletions
+3
View File
@@ -356,6 +356,9 @@ extern status_t notify_query_entry_created(port_id port, int32 token,
extern status_t notify_query_entry_removed(port_id port, int32 token,
dev_t device, ino_t directory, const char* name,
ino_t node);
extern status_t notify_query_attr_changed(port_id port, int32 token,
dev_t device, ino_t directory, const char* name,
ino_t node);
#ifdef __cplusplus
}
@@ -945,6 +945,7 @@
#define notify_query_entry_created fssh_notify_query_entry_created
#define notify_query_entry_removed fssh_notify_query_entry_removed
#define notify_query_attr_changed fssh_notify_query_attr_changed
////////////////////////////////////////////////////////////////////////////////
@@ -402,6 +402,10 @@ extern fssh_status_t fssh_notify_query_entry_removed(fssh_port_id port,
int32_t token, fssh_mount_id device,
fssh_vnode_id directory, const char *name,
fssh_vnode_id node);
extern fssh_status_t fssh_notify_query_attr_changed(fssh_port_id port,
int32_t token, fssh_mount_id device,
fssh_vnode_id directory, const char *name,
fssh_vnode_id node);
#ifdef __cplusplus
}
+10
View File
@@ -0,0 +1,10 @@
#ifndef QUERY_PRIVATE_H
#define QUERY_PRIVATE_H
// If an entry is already in a query and a attribute changed
// B_ATTR_CHANGE_NOTIFICATION tells the query to send B_ATTR_CHANGED
// notifications if the entry stays in the query.
#define B_ATTR_CHANGE_NOTIFICATION 0x0000F000
#endif