PSIGNAL(3)

πŸ“¦ version 15.1, in freebsd 15.1

πŸ’– PSIGNAL(3) β€” system signal messages, bestie πŸ’–

okay so this is the PSIGNAL(3) page from the Library Functions Manual, and it is literally all about system signal messages. Buckle up, bestie. πŸŽ€


✨ NAME ✨

psignal, psiginfo, strsignal, sys_siglist, sys_signame, sig2str, str2sig β€” system signal messages. That's the whole squad. πŸ‘‘

🧚 LIBRARY 🧚

Standard C Library (libc, -lc). It lives there. Slay.

🌸 SYNOPSIS 🌸

#include <signal.h>

void
psignal(int sig, const char *s);

void
psiginfo(const siginfo_t *si, const char *s);

extern const char * const sys_siglist[];
extern const char * const sys_signame[];

#include <string.h>

char *
strsignal(int sig);

int
sig2str(int signum, char *str);

int
str2sig(char *str, int *pnum);

πŸ¦‹ DESCRIPTION πŸ¦‹

Both psignal() and strsignal() locate the descriptive message string for a signal number. strsignal() accepts the signal number argument sig and returns a pointer to the corresponding message string. Iconic behavior, honestly. ✨

psignal() accepts a signal number argument sig and writes it to the standard error. If the argument s is non-NULL and does not point to the null character, s is written to the standard error file descriptor prior to the message string, immediately followed by a colon and a space. If the signal number is not recognized (sigaction(2)), the string β€œUnknown signal” is produced. No cap. πŸ’…

psiginfo() is similar to psignal(), except that the signal number information is taken from the si argument, which is a siginfo_t structure. Main character energy, but for structs. 🫢

The message strings can be accessed directly through the external array sys_siglist, indexed by recognized signal numbers. The external array sys_signame is used similarly and contains short, upper-case abbreviations for signals which are useful for recognizing signal names in user input. The defined variable NSIG contains a count of the strings in sys_siglist and sys_signame. iykyk. 🌟

sig2str() translates the signal number signum to the signal name, without the β€œSIG” prefix, and stores it at the location specified by str, which should be large enough to hold the name and the terminating NUL byte. The symbol SIG2STR_MAX gives the maximum size in bytes required. Don't skimp on the buffer, bestie. πŸ“

str2sig() translates the signal name str to a signal number and stores it in the location referenced by pnum. The name in str can be either the name of the signal, with or without the β€œSIG” prefix, or a decimal number. Flexible queen. πŸ‘‘

πŸ’… SEE ALSO πŸ’…

go read those too, they're part of the lore. πŸ“š

🌈 STANDARDS 🌈

psignal() and psiginfo() are defined by IEEE Std 1003.1-2008 (β€œPOSIX.1”), while the sig2str() and str2sig() functions are defined by . (yes, the page literally leaves that one blank, bestie β€” not me projecting πŸ’€).

⭐ HISTORY ⭐

psignal() appeared in 4.2BSD. psiginfo() appeared in FreeBSD 14.3, NetBSD 6.0, and DragonFly 4.1. sig2str() and str2sig() appeared in FreeBSD 15.0. Periodt. πŸ”₯


xoxo, this PSIGNAL(3) page is from the Debian edition, dated May 10, 2025 β€” catch you in the signal chat πŸ’–πŸ«Ά

πŸ“¦ where this page comes from
  • freebsd 15.1: base 15.1
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms