1 #include <lunaix/foptions.h>
3 #include <lunaix/fs/twifs.h>
5 extern struct llist_header all_mnts;
8 __mount_read(struct twimap* map)
11 struct v_mount* mnt = twimap_index(map, struct v_mount*);
12 size_t len = vfs_get_path(mnt->mnt_point, path, 511, 0);
14 twimap_printf(map, "%s at %s", mnt->super_block->fs->fs_name.value, path);
15 if ((mnt->flags & MNT_RO)) {
16 twimap_printf(map, ", ro");
18 twimap_printf(map, ", rw");
20 twimap_printf(map, "\n");
24 __mount_next(struct twimap* map)
26 struct v_mount* mnt = twimap_index(map, struct v_mount*);
27 if (mnt->list.next == &all_mnts) {
30 map->index = container_of(mnt->list.next, struct v_mount, list);
35 __mount_reset(struct twimap* map)
37 map->index = container_of(all_mnts.next, struct v_mount, list);
41 __version_rd(struct twimap* map)
44 "LunaixOS version %s (%s-gnu-gcc %s) %s %s",
53 vfs_export_attributes()
55 struct twimap* map = twifs_mapping(NULL, NULL, "mounts");
56 map->read = __mount_read;
57 map->go_next = __mount_next;
58 map->reset = __mount_reset;
60 map = twifs_mapping(NULL, NULL, "version");
61 map->read = __version_rd;