mount.h 781 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <common/glib.h>
  3. /**
  4. * @brief 挂载点结构体(用来表示dentry被挂载其他文件系统之后,原先存在的数据)
  5. *
  6. */
  7. struct mountpoint
  8. {
  9. struct List mnt_list; // 挂载点串在一起的链表
  10. struct vfs_dir_entry_t *dentry; // 被挂载前,当前目录项的dentry
  11. struct vfs_dir_entry_t *parent_dentry; // 被挂载前,父目录项的dentry
  12. };
  13. /**
  14. * @brief 初始化mount机制
  15. *
  16. * @return int 错误码
  17. */
  18. int mount_init();
  19. /**
  20. * @brief 将new_dentry挂载
  21. *
  22. * @param old_dentry 挂载点的dentry
  23. * @param new_dentry 待挂载的新的dentry(需使用vfs_alloc_dentry来分配)
  24. * @return int 错误码
  25. */
  26. int do_mount(struct vfs_dir_entry_t *old_dentry, struct vfs_dir_entry_t *new_dentry);