limb 0.2.0

2024-01-09

out(3)
limb manual
out(3)

NAME

out, quiet, verb, err, errverb, sys, sysverb, add, adde, outdie, quietdie, verbdie, errdie, errverbdie, sysdie, sysverbdie - write text to standard output/error (and terminate process)

SYNOPSIS

#include <limb/output.h>
void quiet(...)
void out(...)
void verb(...)
void err(...)
void errverb(...)
void sys(...)
void sysverb(...)
void dbg(...)
void dbgverb(...)

void add(...)
void adde(...)

void quietdie(exit, ...)
void outdie(exit, ...)
void verbdie(exit, ...)
void errdie(exit, ...)
void errverbdie(exit, ...)
void sysdie(exit, ...)
void sysverbdie(exit, ...)

DESCRIPTION

All of those are implemented as macros and will write to either standard output or standard error, then maybe terminate the calling process or return.

output buffers

All of those are using output buffers obuffer_1 or obuffer_2 to write to stdout or stderr respectively. As such, data will also be written to any & all output buffers attached to the corresponding output buffer. See obuffer_attach(3) for more.

The macro out() writes given strings to stdout buffers with level OLVL_NORMAL or more, adding a newline and flushing out the buffer.

The macros quiet() and verb() are similar to out(), only with OLVL_QUIET and OLVL_VERBOSE levels respectively.

The macro err() writes given strings to stderr buffers with level OLVL_NORMAL or more, adding a newline and flushing out the buffer.

The macro errverb() is similar only with OLVL_VERSOSE level.

The macro add() writes given strings to stdout buffers with OLVL_NORMAL.

The macro adde() writes given strings to stderr buffers with OLVL_NORMAL.

The macro sys() is similar to err() but will add a colon, a space and the error description from strerror(3) on errno after the given strings.

The macro sysverb() is similar only with OLVL_VERSOSE level.

The macro dbg() is similar to out() but with level OLVL_DEBUG, and prefixing with function name, file name and line number (see dbg_putmsg(3) for more).

Macros quietdie(), outdie(), verbdie(), errdie(), errverbdie(), sysdie() and sysverbdie() are similar to quiet(), out(), verb(), err(), errverb(), sys() and sysverb() respectively but will terminate the calling process (via _exit(3) using exit as status code).

Escaping

It is possible to use PUTMSG_ESC (or simply ESC) as one of the strings in order to toggle escaping. See to buffer_putmsg(3) for more.

Numbers

It is possible to add a numbers into a message, to have its value written into the buffer into decimal form, through the use of macros :

PUTMSG_UINT(n)

To have the value of unsigned number n written out

PUTMSG_INT(n)

Same as PUTMSG_UINT(n) but for signed number

Refer to buffer_putmsg(3) for more.

Hexadecimal dump

It is possible to specify a byte-array whose content shall be written out as hexadecimal dump, through the use of macro PUTMSG_HEX (or simply HEX), taking two arguments : a pointer to the byte array, and its length.

For more, refer to buffer_putmsg(3).

SEE ALSO

out_putmsg(3), buffer_putmsg(3)

limb 0.1.0
2023-07-24
out(3)