xref: /illumos-gate/usr/src/man/man3proc/Perror_printf.3proc (revision a7d7cafedfa26f9e421bbcaf42b7387ef67c0a31)
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