feat: simple device abstraction layer
[lunaix-os.git] / lunaix-os / includes / lunaix / fs.h
index fce04ca1dfbb1dbd86fbf40c241512be686d6887..fe9b39b6ea2cdff27de62b585c18a4bccf82a38c 100644 (file)
 
 #define VFS_IOBUF_FDIRTY 0x1
 
+#define FSTYPE_ROFS 0x1
+
 #define VFS_VALID_CHAR(chr)                                                    \
     ('A' <= (chr) && (chr) <= 'Z' || 'a' <= (chr) && (chr) <= 'z' ||           \
      '0' <= (chr) && (chr) <= '9' || (chr) == '.' || (chr) == '_' ||           \
      (chr) == '-')
 
+extern struct hstr vfs_ddot;
+extern struct hstr vfs_dot;
+
 struct v_dnode;
 
 struct filesystem
 {
     struct hlist_node fs_list;
     struct hstr fs_name;
+    uint32_t types;
     int (*mount)(struct v_superblock* vsb, struct v_dnode* mount_point);
     int (*unmount)(struct v_superblock* vsb);
 };