libipmiconsole(3)
π libipmiconsole(3) β the IPMI SOL library, explained by your favorite terminal gremlin π
okay so bestie, this is the manual page for libipmiconsole, and this whole page lives in section 3 of the man pages (that's the "library functions" section, iykyk). grab a strawberry drink π, we're getting into serial-over-lan.
β¨ NAME β¨
libipmiconsole β the IPMI SOL library. that's it, that's the name. it's giving "short but iconic" π
πΈ SYNOPSIS πΈ
the way that you literally just #include it and go:
#include <ipmiconsole.h>
and then all of these are yours to call, no cap:
int ipmiconsole_engine_init(unsigned int thread_count, unsigned int debug_flags);
int ipmiconsole_engine_submit(ipmiconsole_ctx_t c, Ipmiconsole_callback callback, void *callback_arg);
int ipmiconsole_engine_submit_block(ipmiconsole_ctx_t c);
void ipmiconsole_engine_teardown(int cleanup_sol_sessions);
ipmiconsole_ctx_t ipmiconsole_ctx_create(const char *hostname, struct ipmiconsole_ipmi_config *ipmi_config, struct ipmiconsole_protocol_config *protocol_config, struct ipmiconsole_engine_config *engine_config);
int ipmiconsole_ctx_errnum(ipmiconsole_ctx_t c);
char *ipmiconsole_ctx_strerror(int errnum);
ipmiconsole_ctx_status_t ipmiconsole_ctx_status(ipmiconsole_ctx_t c);
int ipmiconsole_ctx_fd(ipmiconsole_ctx_t c);
int ipmiconsole_ctx_generate_break(ipmiconsole_ctx_t c);
void ipmiconsole_ctx_destroy(ipmiconsole_ctx_t c);
copy them exactly, bestie, don't be out here renaming things π
π¦ DESCRIPTION π¦
so Libipmiconsole is a high level serial-over-lan (SOL) API for remote console access. high level = it does the scary stuff so you don't have to π«Ά
you can use it to establish and manage multiple IPMI 2.0 SOL sessions at the same time. multiple. like a whole group chat of consoles.
and the goal of this library? genuinely the whole point: it abstracts away all of the underlying IPMI/SOL details from you, the user, into a relatively simple file descriptor interface. that's the main character move here π you get an fd, you read and write, the library handles the lore.
oh and also β alternate default configuration values can be set for libipmiconsole via the libipmiconsole.conf file. see libipmiconsole.conf(5) for more info. slay.
π FILES π
/usr/include/ipmiconsole.h/etc/freeipmi//libipmiconsole.conf
(yes, that double slash in the second path is exactly how the original prints it β not me being chaotic, that's just verbatim π )
π REPORTING BUGS π
found a bug? not me gatekeeping β report it to:
- <freeipmi-users@gnu.org>
- <freeipmi-devel@gnu.org>
they're nice, I promise. fr fr.
π COPYRIGHT π
- Copyright (C) 2007-2015 Lawrence Livermore National Security, LLC.
- Copyright (C) 2006-2007 The Regents of the University of California.
and the legal bit, in full, because we respect licenses in this house:
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.
periodt. GPLv3-or-later, bestie. π§
π SEE ALSO π
go read these next, they're literally connected:
and the website, because of course:
http://www.gnu.org/software/freeipmi/
okay that's the whole page!! π¦ love that for us. this was libipmiconsole, version 1.6.20, dated 2026-10-05 β go forth and manage your SOL sessions, bestie, you're gonna ate π
β¨π
π¦ where this page comes from
- arch rolling: freeipmi 1.6.20-1 Β· GPL-3.0-or-later
- centos-stream 10: freeipmi-devel 1.6.20-1.el10 Β· GPL-3.0-or-later
- centos-stream 9: freeipmi-devel 1.6.20-1.el9 Β· GPLv3+
- centos-stream 9: freeipmi-devel 1.6.20-1.el9 Β· GPLv3+
- Copyright (C) 2007-2015 Lawrence Livermore National Security, LLC
- Copyright (C) 2006-2007 The Regents of the University of California
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms