AST2500用户添加自定义IPMI交互命令
用户可以在MsgHndlr.c中添加自定义IPMI交互命令
在MsgHndlr.c中
1、添加自定义netfun
#define NETFN_SAMPLE 0x10
2、添加用户自定义执行程序宏定义
#define SET_THREADOLD SetThreshold#define GET_THREADOLD GetThreshold
3、添加自定义执行程序函数
int SetThreshold(_NEAR_ INT8U* pReq, INT32U ReqLen, _NEAR_ INT8U* pRes,int BMCInst)
{unsigned int temp_upper_level=0;unsigned int temp_down_level=0;unsigned int volt_upper_level=0;unsigned int volt_down_level=0;if(pReq[0]==0x1)//setting temperature threshold{temp_upper_level=pReq[3];temp_down_level=pReq[6];printf("[IPMI CMD]Setting Temperature Upper_LEVEL %d Low_Level %d\n",temp_upper_level,temp_down_level);}else if(pReq[0]==0x2) //setting voltage threshold{volt_upper_level=pReq[3];volt_down_level=pReq[6];printf("[IPMI CMD]Setting Voltage Upper_LEVEL %d Low_Level %d\n",volt_upper_level,volt_down_level);}else{*pRes = CC_INV_DATA_FIELD;return sizeof(*pRes);}*pRes =CC_SUCCESS;return sizeof(*pRes);
}int GetThreshold(_NEAR_ INT8U* pReq, INT32U ReqLen, _NEAR_ INT8U* pRes,int BMCInst)
{if(pReq[0]==0x1)//getting temperature threshold{//……..}else if(pReq[0]==0x2) //getting voltage threshold{//……..}else{*pRes = CC_INV_DATA_FIELD;return sizeof(*pRes);}return 1;
}
4、添加自定义命令解析函数结构体
const ExCmdHndlrMap_T g_Sample_CmdHndlr [] ={{0x26, PRIV_USER, SET_THREADOLD, 0xff, 0xAAAA,0xFFFF},{0x27, PRIV_USER, GET_THREADOLD, 0xff, 0xAAAA,0xFFFF},};
字段含义如下:
5、在主处理函数中添加自定义命令解析
MsgHndlrTbl_T m_MsgHndlrTbl [15] =
{{ NETFN_APP, g_App_CmdHndlr },{ NETFN_CHASSIS, g_Chassis_CmdHndlr },{ NETFN_BRIDGE, g_Bridge_CmdHndlr },{ NETFN_SENSOR, g_SensorEvent_CmdHndlr },{ NETFN_STORAGE, g_Storage_CmdHndlr },{ NETFN_TRANSPORT, g_Config_CmdHndlr },{ NETFN_AMI, (CmdHndlrMap_T*)g_AMI_CmdHndlr },{ NETFN_30, (CmdHndlrMap_T*)g_NetFn30_CmdHndlr},{ NETFN_SAMPLE, (CmdHndlrMap_T*)g_Sample_CmdHndlr},
};
这样修改以后收到自定义的netfun和cmd就会执行用户自己的处理函数。
AST2500用户添加自定义IPMI交互命令相关推荐
- Linux TOP 交互命令
今天总结一点top命令的一些交互命令,比较实用! h或者? 显示帮助画面,给出一些简短的命令总结说明 k 终止一个进程. 系统将提示用户输 ...
- Hive安装及常用交互命令
Hive基本概念及常用交互命令 目录 Hive安装地址 Hive安装部署 将本地文件导入Hive案例 MySQL安装 Hive元数据配置到MySQL Hive常用交互命令 Hive其他命令操作 Hiv ...
- Shell Here Document 免交互命令和Expect
Shell Here Document 免交互命令和Expect 一.Here Document 免交互命令 二.Expect 1.基本命令 2.示例 3.嵌入执行模式 4.实现ssh自动登录 5.免 ...
- linux切换任务命令,Linux top详解之交互命令、命令行选项
top交互命令 我们之前说过top是一个交互命令.上一节我们已经遇到了一些命令.这里我们会探索更多的命令. 2.1 'h': 帮助 首先,我们可以用'h'或者'?'显示交互命令的帮助菜单. 2.2 ...
- chmod a+r *:用户自己使用此命令,柯给所有用户添加可读的权限
chmod a+r *:用户自己使用此命令,柯给所有用户添加可读的权限 chmod a+r file:给所有用户添加读的权限_biolxy的博客-CSDN博客
- linux 用户管理(3)----查看用户登录时间以及命令历史
1.查看当前登录用户信息 who命令: who缺省输出包括用户名.终端类型.登陆日期以及远程主机. who /var/log/wtmp 可以查看自从wtmp文件创建以来的每一次登陆情况 (1 ...
- 与用户登录有关的命令w who whoami last lastb lastlog
与用户登录有关的命令 w:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序 who:显示当前已经登录的用户信息 whoami:打印当前用户名 last,显示/var/log/wtm ...
- linux中 用户管理命令,Linux中的常用用户和用户组管理命令
who:查看当前服务器所有正在登陆中的用户,显示tty表示本地登录,pts表示远程终端.这个命名只能显示简单的登录信息,如果想要查看更为详细的登录信息,使用w命令. w命令除了显示who命令的内容外, ...
- 查看用户登录时间以及命令历史
查看用户登录时间以及命令历史 文章目录: 你有没有遇到这种情况,就是有一台服务器,上面有多个人登陆使用,但是突然右某一天,服务器突然出现了问题,然后你没有操作,但是此时你却成为了怀疑的对象,搞出问题的 ...
- linux下查看当前用户的 三个命令
linux下查看当前用户的 三个命令 1,whoami; 2,id -un; 3,who -H 可以列出当前所有的 NAME (用户名) LINE (窗口列表) TIME(开启时间 ...
最新文章
- 用cxf开发restful风格的WebService
- php 实现心芯图案,利用php输出不同的心形图案
- 原声ajax的函数式封装,原生 js 封装 ajax的两种方式(get,post)
- Fluent NHibernate关系映射
- 15.4.5 简化元组的使用
- 系统开发小结【未完待续】
- 微信开发系列之六 - 使用微信OAuth2 API读取微信用户信息,显示在SAP UI5里
- React 第十二章 React思想
- 百度近五年最年轻高管团队出炉,能否“翻盘”成功?
- arm指令集_重磅!Arm宣布:指令集,客户可自定义
- [导入]如何调试你的C#程序
- java视频教程 设计模式,Gof设计模式视频课程(Java实现)
- Eureka Server报错:Retry limit reached; giving up on complet the request
- 核心关键词排名优化技巧
- 三星android 8.0 流畅,三星Galaxy S8使用安卓Android 8.0:更顺滑更流畅
- 计算机勾兑双绝是谁发明,勾兑是什么?
- C语言/C++编程学习:和QT零距离接触的意义
- 兆鹏带你读watir——【第五篇】watir的js应用(技巧篇)
- 注册Netgear DDNS账号的操作
- java毕业设计劳务外包管理系统源码+lw文档+mybatis+系统+mysql数据库+调试