143051d27SRobert Mustacchi.\" 243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the 343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0. 443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version 543051d27SRobert Mustacchi.\" 1.0 of the CDDL. 643051d27SRobert Mustacchi.\" 743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this 843051d27SRobert Mustacchi.\" source. A copy of the CDDL is also available via the Internet at 943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL. 1043051d27SRobert Mustacchi.\" 1143051d27SRobert Mustacchi.\" 1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc. 1343051d27SRobert Mustacchi.\" 14*a7d7cafeSRobert Mustacchi.Dd November 27, 2023 1543051d27SRobert Mustacchi.Dt PERROR_PRINTF 3PROC 1643051d27SRobert Mustacchi.Os 1743051d27SRobert Mustacchi.Sh NAME 1843051d27SRobert Mustacchi.Nm Perror_printf 1943051d27SRobert Mustacchi.Nd interposable function for additional diagnostics 20*a7d7cafeSRobert Mustacchi.Sh LIBRARY 21*a7d7cafeSRobert Mustacchi.Lb libproc 2243051d27SRobert Mustacchi.Sh SYNOPSIS 23*a7d7cafeSRobert Mustacchi.In libproc.h 2443051d27SRobert Mustacchi.Ft void 2543051d27SRobert Mustacchi.Fo Perror_printf 2643051d27SRobert Mustacchi.Fa "struct ps_prochandle *P" 2743051d27SRobert Mustacchi.Fa "const char *format" 2843051d27SRobert Mustacchi.Fa "..." 2943051d27SRobert Mustacchi.Fc 3043051d27SRobert Mustacchi.Sh DESCRIPTION 3143051d27SRobert MustacchiThe 3243051d27SRobert Mustacchi.Fn Perror_printf 3343051d27SRobert Mustacchifunction allows for consumers of the 3443051d27SRobert Mustacchi.Sy libproc 3543051d27SRobert Mustacchilibrary to obtain additional diagnostic information during various 3672d3dbb9SYuri Pankovoperations. 3772d3dbb9SYuri PankovConsumers must explicitly 3843051d27SRobert Mustacchi.Em interpose 3972d3dbb9SYuri Pankovon this symbol and provide their own definition, if desired. 4072d3dbb9SYuri PankovThere is no requirement for such an interposition to be done. 4172d3dbb9SYuri PankovWhen called, 4243051d27SRobert Mustacchi.Fa P 4343051d27SRobert Mustacchiwill be the process handle that the additional diagnostics are being 4443051d27SRobert Mustacchigenerated for and the diagnostics will be provided in a 4543051d27SRobert Mustacchi.Xr printf 3C 4643051d27SRobert Mustacchistyle. 4743051d27SRobert Mustacchi.Sh INTERFACE STABILITY 4843051d27SRobert Mustacchi.Sy Uncommitted 4943051d27SRobert Mustacchi.Pp 5043051d27SRobert MustacchiWhile the interposing interface is 5143051d27SRobert Mustacchi.Sy uncommitted , 5243051d27SRobert Mustacchithe provided diagnostics are 5343051d27SRobert Mustacchi.Sy Not-an-Interface 5443051d27SRobert Mustacchiand may change at any time. 5543051d27SRobert Mustacchi.Sh LOCKING 5643051d27SRobert MustacchiCallers should presume that this function may be called from multiple 5772d3dbb9SYuri Pankovthreads and always in a context in which taking locks is fine. 5872d3dbb9SYuri PankovCallers should not expect to be called from a signal handler. 5943051d27SRobert Mustacchi.Sh SEE ALSO 6043051d27SRobert Mustacchi.Xr libproc 3LIB 61