libfreeipmi - FreeIPMI library
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, OpenIPMI, and SUNBMC. 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.
/usr/include/freeipmi.h
/usr/include/freeipmi/
Copyright © 2003-2015 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.
libipmiconsole(3), libipmidetect(3), libipmimonitoring(3),
freeipmi(7), bmc-info(8), bmc-watchdog(8), ipmi-chassis(8), ipmi-config(8),
ipmi-fru(8), ipmi-locate(8), ipmi-oem(8), ipmi-raw(8), ipmi-sel(8),
ipmi-sensors(8), ipmiconsole(8), ipmidetect(8), ipmiping(8), ipmipower(8),
rmcpping(8)
http://www.gnu.org/software/freeipmi/