SET_CONSTRAINT_HANDLER_S(3C) Standard C Library Functions
NAME
set_constraint_handler_s,
abort_handler_s,
ignore_handler_s - runtime-
constraint handling
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#define __STDC_WANT_LIB_EXT1__ 1 #include <stdlib.h> constraint_handler_t set_constraint_handler_s(
constraint_handler_t handler);
void abort_handler_s(
const char *restrict msg,
void *restrict ptr,
errno_t error);
void ignore_handler_s(
const char *restrict msg,
void *restrict ptr,
errno_t error);
DESCRIPTION
The
set_constraint_handler_s() function sets the runtime-constraint
handler to be
handler.
The runtime-constraint handler is the callback function invoked when a
library function detects a runtime-constraint violation, having the
following prototype:
void (*constraint_handler_t)(const char *restrict msg,
void *restrict ptr, errno_t error);
The arguments are as follows:
msg A pointer to a character string describing the runtime-
constraint violation.
ptr A NULL pointer.
error If the function calling the handler has a return type declared
as
errno_t, the return value of the function is passed.
Otherwise, a positive value of type
errno_t is passed.
Only the most recent handler registered with
set_constraint_handler_s()
is called when a runtime-constraint violation occurs.
The implementation has a default constraint handler that is used if no
calls to the
set_constraint_handler_s() function have been made. If
the
handler argument to
set_constraint_handler_s() is a NULL pointer,
the default handler becomes the current constraint handler.
The
abort_handler_s() and
ignore_handler_s() are the standard-defined
runtime-constraint handlers provided by the C library.
The
abort_handler_s() function writes the error message including the
msg to stderr and calls the
abort(3C) function. The
abort_handler_s()
is currently the default runtime-constraint handler.
The
ignore_handler_s() simply returns to its caller.
RETURN VALUES
The
set_constraint_handler_s() function returns a pointer to the
previously registered handler, or NULL if none was previously
registered.
The
abort_handler_s() function does not return to its caller.
The
ignore_handler_s() function returns no value.
INTERFACE STABILITY
StandardMT-LEVEL SafeSTANDARDS
The
set_constraint_handler_s() function conforms to ISO/IEC 9899:2011
("ISO C11").
illumos August 12, 2017 illumos