NAME¶
libfreeipmi - FreeIPMI library
Introduction¶
Libfreeipmi is the primary library that most of the FreeIPMI tools are based
upon. The following describe the sub-sections of the library.
- api
- The highest level API provided by libfreeipmi. It abstracts
away the details of inband and outofband protocols from the user. It also
provides useful error codes for the user to easily interpret IPMI
problems. 'api' is used by most FreeIPMI tools and libraries, such as
bmc-info(8), ipmi-sensors(8), and
libipmimonitoring(3).
- cmds
- Provides fiid templates and 'fill' functions for IPMI
commands. Also provides macros definining common parameters for IPMI
commands. The cmds are used by most other portions of libfreeipmi
including the 'api' sub-section and tools such as ipmipower(8) and
ipmiconsole(8).
- debug
- Provides various packet/record dumping utility functions.
Utilized by the 'api' subsection and by tools such as ipmipower(8)
and ipmiconsole(8).
- driver
- Provides APIs for in-band IPMI communication. Currently
supported drivers are KCS, SSIF, and OpenIPMI. The 'driver' subsction is
used by tools such as bmc-watchdog(8) and the 'api'
sub-section.
- fiid
- The "FreeIPMI Interface Definition" provides an
API used for the construction/deconstruction of packets in libfreeipmi.
The API works around fiid-templates, which are then used to create
fiid-objects. Fiid-templates are used to describe packets through a
string-name to bit-field mapping. The API allows users to read/write
fields in an object using the string to bit-field mapping. Marshalling,
packing, endian, and various other network issues are handled within
'fiid'. Fiid objects are used throughout libfreeipmi, including the 'api'
sub-section, 'cmds' sub-sections, and various tools.
- fru-parse
- Provides an API for parsing Field Replaceable Unit (FRU)
records. Utilized by tools such as ipmi-fru(8).
- interface
- Provides 'assemble' and 'disassemble' functions for
building packets for individual in-band or out-of-band protocols. Also
provides all necessary fiid templates, 'fill' functions, and other utility
functions necessary to communicate on an IPMI interface. Utilized by the
'api' sub-section and tools such as ipmipower(8) and
ipmiconsole(8).
- interpret
- Provides an API for interpreting sensor events by mapping
them into Nominal, Warning, or Critical states. Utilized by FreeIPMI tools
and libraries such as ipmi-sensors(8) and
libipmimonitoring(3).
- locate
- Provides an API to probe several standards to find default
values for in-band IPMI communication. Utilized by the 'api' sub-section
and the ipmi-locate(8) tool.
- record-format
- Provides macros, fiid-templates, and information on records
used in IPMI. Utilized by the 'sdr-cache' subsection and tools like
ipmi-sensors(8).
- sdr-cache
- Provides an API for creating, caching, reading, and parsing
a sensor data repository (SDR). Utilized by tools such as
ipmi-fru(8) and ipmi-sensors(8).
- sdr-parse
- Provides an API for parsing SDR records. Utilized by tools
such as ipmi-fru(8) and ipmi-sensors(8)
- sel-parse
- Provides an API for reading and parsing System Event Log
(SEL) entries. Utilized by tools such as ipmi-sel(8).
- sensor-read
- Provides an API for reading a sensor. Utilized by tools
such as ipmi-sensors(8).
- spec
- Provides macros and arrays for various other definitions
and tables in IPMI. Utilized by tools such as ipmi-sensors(8).
- util
- Provides various utility functions for the calculation of
keys, sensor readings, etc. Utilized by most of the rest of FreeIPMI.
FILES¶
/usr/include/freeipmi.h
/usr/include/freeipmi/
COPYRIGHT¶
Copyright © 2003-2012 FreeIPMI Core Team.
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
SEE ALSO¶
libipmiconsole(3),
libipmidetect(3),
libipmimonitoring(3),
freeipmi(7),
bmc-config(8),
bmc-info(8),
bmc-watchdog(8),
ipmi-chassis(8),
ipmi-fru(8),
ipmi-locate(8),
ipmi-oem(8),
ipmi-raw(8),
ipmi-sel(8),
ipmi-sensors(8),
ipmi-sensors-config(8),
ipmiconsole(8),
ipmidetect(8),
ipmiping(8),
ipmipower(8),
ipmi-pef-config(8),
rmcpping(8)
http://www.gnu.org/software/freeipmi/