背景简介
========
IPMI(Intelligent Platform Management Interface)是一套用于硬件平台管理的规范/接口。
官方网址:http://www.intel.com/design/servers/ipmi/index.htm
而IPMItool是用于管理和配置支持IPMI规范硬件的工具。
官方网址http://ipmitool.sourceforge.net/
IPMItool的架构
==============
源码目录如下
+---contrib //用于建立web管理页面的shell脚本
+---control //包含一些安装、配置信息
+---debian //包含changelog等信息
+---doc //man的帮助信息
+---include
| /---ipmitool //头文件定义
+---lib //对IPMI规范的对应实现,如ipmi_session.c处理session
/

本文分析了IPMItool的源码结构,展示了C语言如何通过工厂模式实现接口与具体实现的分离。IPMItool将不同接口作为插件(plugin),实现了良好的结构和扩展性。通过对ipmi_intf结构体和函数指针的使用,IPMI规范中的session、fru等实体在lib中独立实现,而接口的通用功能和特定实现分别在头文件和src/plugins目录下完成。
1万+

被折叠的 条评论
为什么被折叠?



