summaryrefslogtreecommitdiff
path: root/procfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'procfs.h')
-rw-r--r--procfs.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/procfs.h b/procfs.h
index e8ef18b..a9665f9 100644
--- a/procfs.h
+++ b/procfs.h
@@ -32,14 +32,6 @@ struct procfs_node_ops
/* Destroy this node. */
void (*cleanup) (void *hook);
-
- /* FIXME: This is needed because the root node is persistent, and we
- want the list of processes to be updated. However, this means that
- readdir() on the root node runs the risk of returning incoherent
- results if done in multiple runs and processes are added/removed in
- the meantime. The right way to fix this is probably to add a
- getroot() user hook function to libnetfs. */
- int enable_refresh_hack_and_break_readdir;
};
/* These helper functions can be used as procfs_node_ops.cleanup_contents. */
@@ -71,6 +63,11 @@ void procfs_node_chtype (struct node *np, mode_t type);
corresponding child nodes. */
ino64_t procfs_make_ino (struct node *np, const char *filename);
+/* Forget the current cached contents for the node. This is done before reads
+ from offset 0, to ensure that the data are recent even for utilities such as
+ top which keep some nodes open. */
+void procfs_refresh (struct node *np);
+
error_t procfs_get_contents (struct node *np, char **data, ssize_t *data_len);
error_t procfs_lookup (struct node *np, const char *name, struct node **npp);
void procfs_cleanup (struct node *np);