send a message to syslogd
void *msg, size_t
function is used to transmit a
syslog(3) formatted message direct to
syslogd(8) without requiring the allocation of a socket. If
LOG_CONS is specified in the
flags argument, and
syslogd(8) is not accepting messages, the message will be sent to the
console. This is used internally by
syslog_r(3), so that messages can be sent during difficult
situations. If sending to
syslogd(8) fails, dropped messages are counted. When
syslogd(8) works again, a warning with the counter and error number
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
sendsyslog() can fail if:
- An invalid user space address was specified for a parameter.
- The socket requires that message be sent atomically, and the size of the message to be sent made this impossible.
- The system was unable to allocate an internal buffer. The operation may succeed when buffers become available.
- The message cannot be sent, likely because syslogd(8) is not running.
sendsyslog() function call appeared in
OpenBSD 5.6. The flags
argument was added in OpenBSD 6.0.