feat: kprintf now goes into dedicated pseudo-dev rather than flooding the framebuffer
[lunaix-os.git] / lunaix-os / kernel / fs / twifs / twifs.c
index 729b5f770f7ea164d91f24d7b78e553433b1aa44..704a103f270b750f130430b4035d27960b8ff3d1 100644 (file)
@@ -8,7 +8,7 @@
  * @copyright Copyright (c) 2022
  *
  */
-#include <klibc/stdio.h>
+#include <klibc/strfmt.h>
 #include <klibc/string.h>
 #include <lunaix/clock.h>
 #include <lunaix/fs.h>
@@ -118,7 +118,7 @@ __twifs_dirlookup(struct v_inode* inode, struct v_dnode* dnode)
 {
     struct twifs_node* twi_node = (struct twifs_node*)inode->data;
 
-    if (!(twi_node->itype & VFS_IFDIR)) {
+    if ((twi_node->itype & F_FILE)) {
         return ENOTDIR;
     }
 
@@ -180,7 +180,7 @@ __twifs_openfile(struct v_inode* inode, struct v_file* file)
 int
 twifs_rm_node(struct twifs_node* node)
 {
-    if ((node->itype & VFS_IFDIR) && !llist_empty(&node->children)) {
+    if (!(node->itype & F_FILE) && !llist_empty(&node->children)) {
         return ENOTEMPTY;
     }
     llist_delete(&node->siblings);
@@ -192,7 +192,7 @@ struct twifs_node*
 twifs_file_node_vargs(struct twifs_node* parent, const char* fmt, va_list args)
 {
     char buf[VFS_NAME_MAXLEN];
-    size_t len = __ksprintf_internal(buf, fmt, VFS_NAME_MAXLEN, args);
+    size_t len = ksnprintfv(buf, fmt, VFS_NAME_MAXLEN, args);
 
     return __twifs_new_node(parent ? parent : fs_root, buf, len, VFS_IFSEQDEV);
 }
@@ -217,7 +217,7 @@ twifs_dir_node(struct twifs_node* parent, const char* fmt, ...)
     va_start(args, fmt);
 
     char buf[VFS_NAME_MAXLEN];
-    size_t len = __ksprintf_internal(buf, fmt, VFS_NAME_MAXLEN, args);
+    size_t len = ksnprintfv(buf, fmt, VFS_NAME_MAXLEN, args);
     struct twifs_node* twi_node =
       __twifs_new_node(parent ? parent : fs_root, buf, len, VFS_IFDIR);
 
@@ -241,16 +241,12 @@ twifs_init()
 
     fs_root = twifs_dir_node(NULL, NULL, 0, 0);
 }
+EXPORT_FILE_SYSTEM(twifs, twifs_init);
 
 void
 twifs_register_plugins()
 {
-    int i = 0;
-    ptr_t init_twifs_plugin_fn;
-    ldga_foreach(twiplugin_inits, ptr_t, i, init_twifs_plugin_fn)
-    {
-        ((void (*)())init_twifs_plugin_fn)();
-    }
+    ldga_invoke_fn0(twiplugin_inits);
 }
 
 int