1 SET_CONSTRAINT_HANDLER_S(3C) Standard C Library Functions 2 3 NAME 4 set_constraint_handler_s, abort_handler_s, ignore_handler_s - runtime- 5 constraint handling 6 7 LIBRARY 8 Standard C Library (libc, -lc) 9 10 SYNOPSIS 11 #define __STDC_WANT_LIB_EXT1__ 1 12 13 #include <stdlib.h> 14 15 constraint_handler_t 16 set_constraint_handler_s(constraint_handler_t handler); 17 18 void 19 abort_handler_s(const char *restrict msg, void *restrict ptr, 20 errno_t error); 21 22 void 23 ignore_handler_s(const char *restrict msg, void *restrict ptr, 24 errno_t error); 25 26 DESCRIPTION 27 The set_constraint_handler_s() function sets the runtime-constraint 28 handler to be handler. 29 30 The runtime-constraint handler is the callback function invoked when a 31 library function detects a runtime-constraint violation, having the 32 following prototype: 33 34 void (*constraint_handler_t)(const char *restrict msg, 35 void *restrict ptr, errno_t error); 36 37 The arguments are as follows: 38 39 msg A pointer to a character string describing the runtime-constraint 40 violation. 41 42 ptr A NULL pointer. 43 44 error If the function calling the handler has a return type declared as 45 errno_t, the return value of the function is passed. Otherwise, a 46 positive value of type errno_t is passed. 47 48 Only the most recent handler registered with set_constraint_handler_s() 49 is called when a runtime-constraint violation occurs. 50 51 The implementation has a default constraint handler that is used if no 52 calls to the set_constraint_handler_s() function have been made. If the 53 handler argument to set_constraint_handler_s() is a NULL pointer, the 54 default handler becomes the current constraint handler. 55 56 The abort_handler_s() and ignore_handler_s() are the standard-defined 57 runtime-constraint handlers provided by the C library. 58 59 The abort_handler_s() function writes the error message including the msg 60 to stderr and calls the abort(3C) function. The abort_handler_s() is 61 currently the default runtime-constraint handler. 62 63 The ignore_handler_s() simply returns to its caller. 64 65 RETURN VALUES 66 The set_constraint_handler_s() function returns a pointer to the 67 previously registered handler, or NULL if none was previously registered. 68 69 The abort_handler_s() function does not return to its caller. 70 71 The ignore_handler_s() function returns no value. 72 73 INTERFACE STABILITY 74 Standard 75 76 MT-LEVEL 77 Safe 78 79 STANDARDS 80 The set_constraint_handler_s() function conforms to ISO/IEC 9899:2011 81 ("ISO C11"). 82 83 illumos August 12, 2017 illumos