#pragma once #include /** * @brief devfs_private_file_info_t的type字段值 * */ enum { DEV_TYPE_UNDEF = 0, DEV_TYPE_CHAR = 1, DEV_TYPE_USB, DEV_TYPE_BLOCK, DEV_TYPE_NET, DEV_TYPE_BUS, }; /** * @brief 字符设备的sub_type字段值 * */ enum { CHAR_DEV_STYPE_START = 0, CHAR_DEV_STYPE_PS2_KEYBOARD = 1, CHAR_DEV_STYPE_USB_KEYBOARD, CHAR_DEV_STYPE_PS2_MOUSE, CHAR_DEV_STYPE_USB_MOUSE, CHAR_DEV_STYPE_BLUETOOTH_MOUSE, CHAR_DEV_STYPE_BLUETOOTH_KEYBOARD, CHAR_DEV_STYPE_TTY, CHAR_DEV_STYPE_END, // 结束标志 }; /** * @brief 设备文件私有信息结构体 * */ struct devfs_private_inode_info_t { uint16_t type; // 设备主类型 uint16_t sub_type; // 设备子类型 struct vfs_file_operations_t *f_ops; uint64_t uuid; struct vfs_index_node_t * inode; // 当前私有信息所绑定的inode };