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.
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).
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-
sensors(8), and ipmimonitoring(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-2008 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 2 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),
ipmimonitoring(8), ipmiping(8), ipmipower(8), pef-config(8),
rmcpping(8)
http://www.gnu.org/software/freeipmi/