LIBXO(3)

πŸ“¦
version 1.7.5 Β· 2 versions
, in epel 9, fedora 43, fedora 44, nixpkgs unstable

πŸ’– LIBXO(3) πŸ’–

okay bestie, so this is the libxo(3) manual page β€” yes, the libxo, the library that lets your output speak every language at once. we're talking about the xo_message family here, and honestly? they're the chaotic little siblings of the libxo universe. let's get into it 🫢


✨ NAME ✨

xo_message, xo_message_c, xo_message_hc, xo_message_hcv β€” emit messages in multiple output styles

πŸ“š LIBRARY πŸ“š

library β€œlibxo”


🌸 SYNOPSIS 🌸

#include <libxo/xo.h>

void
xo_message(const char *fmt, ...);

void
xo_message_e(const char *fmt, ...);

void
xo_message_c(int code, const char *fmt, ...);

void
xo_message_hc(xo_handle_t *xop, int code, const char *fmt, ...);

void
xo_message_hcv(xo_handle_t *xop, int code, const char *fmt,
    va_list vap);

πŸ’… DESCRIPTION πŸ’…

so like, xo_message generates a text message that lacks any sort of structure. literally none. it's giving raw string energy. no cap.

and the way that these functions should not be used under normal conditions?? yeah. because they completely defeat the value of using libxo. like, the whole entire point. gone. πŸ’€ they are provided for scenarios when the output's content is genuinely unknown and unusable β€” like, when you literally cannot know what's coming out of the other end.

they get used when converting programs where err/warn weren't used, and error messages went to stdout, not stderr (messy, i know 😭). using xo_message lets you keep backwards compatibility with that output, but bestie, it does not put the error in a useful form. it's a vibes-only arrangement, fr fr.

the xo_message function generates output strings using the printf-style format string and arguments provided. and here's the tea 🍡 β€” if the format string does not end in a newline, xo_message_e will appear a colon, a space, and the error associated with the current errno value. xo_message_c behaves similarly, but for the value passed in the code parameter. xo_message_hc accepts a handle as opened by xo_create(3), and xo_message_hcv accepts a va_list parameter of arguments. iconic behavior honestly πŸ‘‘


πŸ” SEE ALSO πŸ”


πŸ•°οΈ HISTORY πŸ•°οΈ

the libxo library first appeared in FreeBSD 11.0.


πŸ‘‘ AUTHORS πŸ‘‘

libxo was written by Phil Shafer <phil@freebsd.org>.


πŸ“– ADDITIONAL DOCUMENTATION πŸ“–

FreeBSD uses libxo version 1.7.5. complete documentation can be found on github:

https://juniper.github.io/libxo/1.7.5/html/index.html

libxo lives on github as:

https://github.com/Juniper/libxo

the latest release of libxo is available at:

https://github.com/Juniper/libxo/releases

πŸ¦‹ HISTORY πŸ¦‹

the libxo library was added in FreeBSD 11.0.


🌈 AUTHOR 🌈

Phil Shafer


and that's the whole page, bestie!! no skips, no summaries, every single detail preserved πŸ’–

Debian Β· December 4, 2014 Β· LIBXO(3) β€” stay slay, go read the docs, and pls don't use xo_message in production unless you genuinely have to πŸŽ€βœ¨

πŸ“¦ where this page comes from