用户可以在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交互命令相关推荐

  1. Linux TOP 交互命令

    今天总结一点top命令的一些交互命令,比较实用! h或者?       显示帮助画面,给出一些简短的命令总结说明 k                          终止一个进程. 系统将提示用户输 ...

  2. Hive安装及常用交互命令

    Hive基本概念及常用交互命令 目录 Hive安装地址 Hive安装部署 将本地文件导入Hive案例 MySQL安装 Hive元数据配置到MySQL Hive常用交互命令 Hive其他命令操作 Hiv ...

  3. Shell Here Document 免交互命令和Expect

    Shell Here Document 免交互命令和Expect 一.Here Document 免交互命令 二.Expect 1.基本命令 2.示例 3.嵌入执行模式 4.实现ssh自动登录 5.免 ...

  4. linux切换任务命令,Linux top详解之交互命令、命令行选项

    top交互命令 我们之前说过top是一个交互命令.上一节我们已经遇到了一些命令.这里我们会探索更多的命令. 2.1 'h': 帮助 首先,我们可以用'h'或者'?'显示交互命令的帮助菜单. 2.2  ...

  5. chmod a+r *:用户自己使用此命令,柯给所有用户添加可读的权限

    chmod a+r *:用户自己使用此命令,柯给所有用户添加可读的权限 chmod a+r file:给所有用户添加读的权限_biolxy的博客-CSDN博客

  6. linux 用户管理(3)----查看用户登录时间以及命令历史

    1.查看当前登录用户信息  who命令:  who缺省输出包括用户名.终端类型.登陆日期以及远程主机.  who /var/log/wtmp  可以查看自从wtmp文件创建以来的每一次登陆情况  (1 ...

  7. 与用户登录有关的命令w who whoami last lastb lastlog

    与用户登录有关的命令 w:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序 who:显示当前已经登录的用户信息 whoami:打印当前用户名 last,显示/var/log/wtm ...

  8. linux中 用户管理命令,Linux中的常用用户和用户组管理命令

    who:查看当前服务器所有正在登陆中的用户,显示tty表示本地登录,pts表示远程终端.这个命名只能显示简单的登录信息,如果想要查看更为详细的登录信息,使用w命令. w命令除了显示who命令的内容外, ...

  9. 查看用户登录时间以及命令历史

    查看用户登录时间以及命令历史 文章目录: 你有没有遇到这种情况,就是有一台服务器,上面有多个人登陆使用,但是突然右某一天,服务器突然出现了问题,然后你没有操作,但是此时你却成为了怀疑的对象,搞出问题的 ...

  10. linux下查看当前用户的 三个命令

    linux下查看当前用户的 三个命令 1,whoami; 2,id -un; 3,who -H  可以列出当前所有的    NAME (用户名)    LINE (窗口列表)    TIME(开启时间 ...

最新文章

  1. 用cxf开发restful风格的WebService
  2. php 实现心芯图案,利用php输出不同的心形图案
  3. 原声ajax的函数式封装,原生 js 封装 ajax的两种方式(get,post)
  4. Fluent NHibernate关系映射
  5. 15.4.5 简化元组的使用
  6. 系统开发小结【未完待续】
  7. 微信开发系列之六 - 使用微信OAuth2 API读取微信用户信息,显示在SAP UI5里
  8. React 第十二章 React思想
  9. 百度近五年最年轻高管团队出炉,能否“翻盘”成功?
  10. arm指令集_重磅!Arm宣布:指令集,客户可自定义
  11. [导入]如何调试你的C#程序
  12. java视频教程 设计模式,Gof设计模式视频课程(Java实现)
  13. Eureka Server报错:Retry limit reached; giving up on complet the request
  14. 核心关键词排名优化技巧
  15. 三星android 8.0 流畅,三星Galaxy S8使用安卓Android 8.0:更顺滑更流畅
  16. 计算机勾兑双绝是谁发明,勾兑是什么?
  17. C语言/C++编程学习:和QT零距离接触的意义
  18. 兆鹏带你读watir——【第五篇】watir的js应用(技巧篇)
  19. 注册Netgear DDNS账号的操作
  20. java毕业设计劳务外包管理系统源码+lw文档+mybatis+系统+mysql数据库+调试

热门文章

  1. 【JS基础】JavaScript语言简介及简单例子
  2. msfconsole命令大全,以及使用说明
  3. (三)python(基于面向对象)使用Requests+Xpath提取HTML内容(妹子网MM图片)
  4. SSM框架:MyBatis
  5. 内存超频软件哪个好 内存超频教程
  6. HTTP报文字段说明
  7. 单项选择题标准化考试系统
  8. php随机给用户抽奖,PHP随机按百分比抽奖
  9. trim去除空格失败
  10. 智慧油气田可视化,打造油气田管控的“最强大脑”