LIBFREEIPMI

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, 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) andipmiconsole(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).

FILES

COPYRIGHT

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.