1LIBFREEIPMI(3) LIBFREEIPMI LIBFREEIPMI(3)
2
3
4
6 libfreeipmi - FreeIPMI library
7
9 Libfreeipmi is the primary library that most of the FreeIPMI tools are
10 based upon. The following describe the sub-sections of the library.
11
12 api The highest level API provided by libfreeipmi. It abstracts away
13 the details of inband and outofband protocols from the user. It
14 also provides useful error codes for the user to easily inter‐
15 pret IPMI problems. 'api' is used by most FreeIPMI tools and
16 libraries, such as bmc-info(8), ipmi-sensors(8), and libipmimon‐
17 itoring(3).
18
19 cmds Provides fiid templates and 'fill' functions for IPMI commands.
20 Also provides macros definining common parameters for IPMI com‐
21 mands. The cmds are used by most other portions of libfreeipmi
22 including the 'api' sub-section and tools such as ipmipower(8)
23 and ipmiconsole(8).
24
25 debug Provides various packet/record dumping utility functions. Uti‐
26 lized by the 'api' subsection and by tools such as ipmipower(8)
27 and ipmiconsole(8).
28
29 driver Provides APIs for in-band IPMI communication. Currently sup‐
30 ported drivers are KCS, SSIF, and OpenIPMI. The 'driver' subsc‐
31 tion is used by tools such as bmc-watchdog(8) and the 'api' sub-
32 section.
33
34 fiid The "FreeIPMI Interface Definition" provides an API used for the
35 construction/deconstruction of packets in libfreeipmi. The API
36 works around fiid-templates, which are then used to create fiid-
37 objects. Fiid-templates are used to describe packets through a
38 string-name to bit-field mapping. The API allows users to
39 read/write fields in an object using the string to bit-field
40 mapping. Marshalling, packing, endian, and various other network
41 issues are handled within 'fiid'. Fiid objects are used through‐
42 out libfreeipmi, including the 'api' sub-section, 'cmds' sub-
43 sections, and various tools.
44
45 fru-parse
46 Provides an API for parsing Field Replaceable Unit (FRU)
47 records. Utilized by tools such as ipmi-fru(8).
48
49 interface
50 Provides 'assemble' and 'disassemble' functions for building
51 packets for individual in-band or out-of-band protocols. Also
52 provides all necessary fiid templates, 'fill' functions, and
53 other utility functions necessary to communicate on an IPMI
54 interface. Utilized by the 'api' sub-section and tools such as
55 ipmipower(8) and ipmiconsole(8).
56
57 interpret
58 Provides an API for interpreting sensor events by mapping them
59 into Nominal, Warning, or Critical states. Utilized by FreeIPMI
60 tools and libraries such as ipmi-sensors(8) and libipmimonitor‐
61 ing(3).
62
63 locate Provides an API to probe several standards to find default val‐
64 ues for in-band IPMI communication. Utilized by the 'api' sub-
65 section and the ipmi-locate(8) tool.
66
67 record-format
68 Provides macros, fiid-templates, and information on records used
69 in IPMI. Utilized by the 'sdr-cache' subsection and tools like
70 ipmi-sensors(8).
71
72 sdr-cache
73 Provides an API for creating, caching, reading, and parsing a
74 sensor data repository (SDR). Utilized by tools such as ipmi-
75 fru(8) and ipmi-sensors(8).
76
77 sdr-parse
78 Provides an API for parsing SDR records. Utilized by tools such
79 as ipmi-fru(8) and ipmi-sensors(8)
80
81 sel-parse
82 Provides an API for reading and parsing System Event Log (SEL)
83 entries. Utilized by tools such as ipmi-sel(8).
84
85 sensor-read
86 Provides an API for reading a sensor. Utilized by tools such as
87 ipmi-sensors(8).
88
89 spec Provides macros and arrays for various other definitions and
90 tables in IPMI. Utilized by tools such as ipmi-sensors(8).
91
92 util Provides various utility functions for the calculation of keys,
93 sensor readings, etc. Utilized by most of the rest of FreeIPMI.
94
95
97 /usr/include/freeipmi.h
98
99 /usr/include/freeipmi/
100
101
103 Copyright © 2003-2012 FreeIPMI Core Team.
104
105 This library is free software; you can redistribute it and/or modify it
106 under the terms of the GNU General Public License as published by the
107 Free Software Foundation; either version 3 of the License, or (at your
108 option) any later version.
109
111 libipmiconsole(3), libipmidetect(3), libipmimonitoring(3), freeipmi(7),
112 bmc-config(8), bmc-info(8), bmc-watchdog(8), ipmi-chassis(8), ipmi-
113 fru(8), ipmi-locate(8), ipmi-oem(8), ipmi-raw(8), ipmi-sel(8), ipmi-
114 sensors(8), ipmi-sensors-config(8), ipmiconsole(8), ipmidetect(8),
115 ipmiping(8), ipmipower(8), ipmi-pef-config(8), rmcpping(8)
116
117 http://www.gnu.org/software/freeipmi/
118
119
120
121libfreeipmi 1.2.1 @ISODATE LIBFREEIPMI(3)