1 #ifndef __LUNAIX_TASKFS_H
2 #define __LUNAIX_TASKFS_H
4 #include <lunaix/fs/api.h>
5 #include <lunaix/fs/twimap.h>
6 #include <lunaix/ds/list.h>
10 struct list_node siblings;
11 struct hlist_node attrs;
13 struct twimap_ops ops;
16 #define taskfs_export_attr(name) \
18 taskfs_export_attr_mapping(stringify(name), \
19 (struct twimap_ops) { \
21 __twimap_default_gonext, __twimap_default_reset \
25 #define taskfs_export_list_attr(name) \
27 taskfs_export_attr_mapping(stringify(name), \
28 (struct twimap_ops) { \
30 __task_gonext_##name, __task_reset_##name \
38 taskfs_export_attr_mapping(const char* key, struct twimap_ops ops);
40 struct task_attribute*
41 taskfs_get_attr(struct hstr* key);
44 taskfs_invalidate(pid_t pid);
46 #endif /* __LUNAIX_TASKFS_H */