openUBMC Chip Abstract Layer V0.1
载入中...
搜索中...
未找到
usb_driver.h
浏览该文件的文档.
1/*
2 * Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
3 *
4 * this file licensed under the Mulan PSL v2.
5 * You can use this software according to the terms and conditions of the Mulan PSL v2.
6 * You may obtain a copy of Mulan PSL v2 at:
7 * http://license.coscl.org.cn/MulanPSL2
8 *
9 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
10 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
11 * PURPOSE.
12 * See the Mulan PSL v2 for more details.
13 *
14 * Create: 2025-08-16
15 */
20#ifndef USB_DRIVER_H
21#define USB_DRIVER_H
22
23#include "driver.h"
24
25namespace DRIVER_USB {
26using namespace bcal;
27
32class Usb : public IDriver {
33public:
40 virtual int32_t connect(int32_t index);
41
48 virtual int32_t disconnect(int32_t index);
49
56 virtual int32_t is_connected(int32_t index);
57};
58
63class UsbMouse : public Usb {
64public:
74 int32_t write(int32_t index, uint8_t key, uint16_t x, uint16_t y);
75
81 void set_mode(uint8_t mode);
82};
83
88class UsbKeyboard : public Usb {
89public:
97 int32_t write(int32_t index, string_view_t& keys);
98
105 uint32_t get_key_state(int32_t index);
106};
107
112class UsbCdrom : public Usb {
113public:
121 int32_t write(int32_t index, string_view_t& data);
122};
123
128class UsbFloppy : public Usb {
129public:
137 int32_t write(int32_t index, string_view_t& data);
138};
139
144class UsbFlashDrive : public Usb {
145public:
153 int32_t write(int32_t index, string_view_t& data);
154};
155}
156
157#endif // USB_DRIVER_H
USB光驱接口类
Definition usb_driver.h:112
int32_t write(int32_t index, string_view_t &data)
写入光驱消息
USB闪存接口类
Definition usb_driver.h:144
int32_t write(int32_t index, string_view_t &data)
写入光驱消息
USB软驱接口类
Definition usb_driver.h:128
int32_t write(int32_t index, string_view_t &data)
写入光驱消息
USB键盘接口类
Definition usb_driver.h:88
uint32_t get_key_state(int32_t index)
获取Caps Lock, Num, Scroll Lock键状态
int32_t write(int32_t index, string_view_t &keys)
写入键盘消息
USB鼠标接口类
Definition usb_driver.h:63
int32_t write(int32_t index, uint8_t key, uint16_t x, uint16_t y)
写入鼠标消息
void set_mode(uint8_t mode)
设置鼠标模式
USB接口抽象类
Definition usb_driver.h:32
virtual int32_t disconnect(int32_t index)
断开USB连接
virtual int32_t connect(int32_t index)
连接USB
virtual int32_t is_connected(int32_t index)
检查是否USB设备处于连接状态
BCAL层驱动公共接口
Definition driver.h:41
BCAL 驱动公共接口定义