openUBMC Chip Abstract Layer V0.1
载入中...
搜索中...
未找到
Public 成员函数 | 所有成员列表
DRIVER_IPMB::Ipmb类 参考abstract

IPMB 驱动接口类 更多...

#include <ipmb.h>

类 DRIVER_IPMB::Ipmb 继承关系图:
Inheritance graph
[图例]
DRIVER_IPMB::Ipmb 的协作图:
Collaboration graph
[图例]

Public 成员函数

virtual string_t read (int32_t index, uint32_t len, uint32_t timeout)=0
 读取 IPMB 数据
 
virtual int32_t write (int32_t index, const string_view_t &val, uint32_t timeout)=0
 写 IPMB
 
virtual void reset (int32_t index)=0
 复位 IPMB
 
virtual uint32_t get_enable (int32_t index)=0
 获取 IPMB 使能状态
 
virtual uint32_t get_addr (int32_t index)=0
 设置 IPMB 地址
 
virtual void set_addr (int32_t index, uint32_t slave_addr)=0
 设置 IPMB 地址
 
virtual uint8_t get_status (int32_t index)=0
 获取 IPMB 状态
 
virtual string_t check_readable (uint32_t timeout, const string_view_t &mask_read)=0
 检查 IPMB 通道是否可读
 
virtual void set_enable (int32_t index, uint32_t enable)=0
 设置 IPMB 使能状态
 
- Public 成员函数 继承自 bcal::IDriver
 ~IDriver ()
 BCAL驱动析构
 
virtual void free (void)
 BCAL驱动析构
 
virtual void init (void *args, uint32_t size)=0
 BCAL驱动初始化接口
 
virtual void config (int32_t index, void *config, uint32_t size)=0
 驱动实例初始化配置
 
virtual void lock (int32_t index)=0
 驱动实例加锁 读写锁
 
virtual void unlock (int32_t index)=0
 驱动实例解锁
 
virtual string_t get_version (void)=0
 获取驱动版本信息
 

详细描述

IPMB 驱动接口类

成员函数说明

◆ check_readable()

virtual string_t DRIVER_IPMB::Ipmb::check_readable ( uint32_t  timeout,
const string_view_t &  mask_read 
)
pure virtual

检查 IPMB 通道是否可读

参数
timeout超时时间,单位: ms
mask_read读掩码,每个字节对应一个通道,如byte[0]对应IPMB[0];值为1表示检查对应通道,值为0表示不检查对应通道
返回
string_t 每个字节对应一个通道,如byte[0]对应IPMB[0];值为1表示数据就绪,值为0表示无数据,值为2表示发生错误

◆ get_addr()

virtual uint32_t DRIVER_IPMB::Ipmb::get_addr ( int32_t  index)
pure virtual

设置 IPMB 地址

参数
index通道索引号
返回
uint32_t IPMB 从设备地址,7位地址格式

◆ get_enable()

virtual uint32_t DRIVER_IPMB::Ipmb::get_enable ( int32_t  index)
pure virtual

获取 IPMB 使能状态

参数
index通道索引号
返回
uint32_t 1 表示使能,0 表示禁用

◆ get_status()

virtual uint8_t DRIVER_IPMB::Ipmb::get_status ( int32_t  index)
pure virtual

获取 IPMB 状态

参数
index通道索引号
返回
uint8_t 0: IPMB空闲,1:IPMB繁忙

◆ read()

virtual string_t DRIVER_IPMB::Ipmb::read ( int32_t  index,
uint32_t  len,
uint32_t  timeout 
)
pure virtual

读取 IPMB 数据

参数
index通道索引号
len读取长度,单位: 字节
timeout超时时间,单位: ms
返回
string_t 读取到的IPMB报文,参见 DRIVER_IPMB::IpmiMsg

◆ reset()

virtual void DRIVER_IPMB::Ipmb::reset ( int32_t  index)
pure virtual

复位 IPMB

参数
index通道索引号

◆ set_addr()

virtual void DRIVER_IPMB::Ipmb::set_addr ( int32_t  index,
uint32_t  slave_addr 
)
pure virtual

设置 IPMB 地址

参数
index通道索引号
slave_addrIPMB 从设备地址,7位地址格式

◆ set_enable()

virtual void DRIVER_IPMB::Ipmb::set_enable ( int32_t  index,
uint32_t  enable 
)
pure virtual

设置 IPMB 使能状态

参数
index通道索引号
enable使能状态,1 表示使能,0 表示禁用

◆ write()

virtual int32_t DRIVER_IPMB::Ipmb::write ( int32_t  index,
const string_view_t &  val,
uint32_t  timeout 
)
pure virtual

写 IPMB

参数
index通道索引号
val要写入的IPMB报文,参见 DRIVER_IPMB::IpmiMsg
timeout超时时间,单位: ms
返回
int32_t 0: 写入成功, -1: 写入失败

该类的文档由以下文件生成: