1 #pragma once
2 
3 #include "devfs-types.h"
4 
5 /**
6  * @brief 初始化devfs
7  *
8  */
9 void devfs_init();
10 
11 /**
12  * @brief 在devfs中注册设备
13  *
14  * @param device_type 设备主类型
15  * @param sub_type 设备子类型
16  * @param file_ops 设备的文件操作接口
17  * @param ret_private_inode_info_ptr 返回的指向inode私有信息结构体的指针
18  * @return int 错误码
19  */
20 int devfs_register_device(uint16_t device_type, uint16_t sub_type, struct vfs_file_operations_t *file_ops, struct devfs_private_inode_info_t **ret_private_inode_info_ptr);
21 
22 /**
23  * @brief 卸载设备
24  *
25  * @param private_inode_info 待卸载的设备的inode私有信息
26  * @param put_private_info 设备被卸载后,执行的函数
27  * @return int 错误码
28  */
29 int devfs_unregister_device(struct devfs_private_inode_info_t * private_inode_info);