xref: /illumos-gate/usr/src/man/man3c/getprogname.3c (revision bbf215553c7233fbab8a0afdf1fac74c44781867)
1b65dd972SRobert Mustacchi.\"
2b65dd972SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
3b65dd972SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
4b65dd972SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
5b65dd972SRobert Mustacchi.\" 1.0 of the CDDL.
6b65dd972SRobert Mustacchi.\"
7b65dd972SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
8b65dd972SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
9b65dd972SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
10b65dd972SRobert Mustacchi.\"
11b65dd972SRobert Mustacchi.\"
12b65dd972SRobert Mustacchi.\" Copyright (c) 2014, Joyent, Inc.
13b65dd972SRobert Mustacchi.\"
14c5bab702SPeter Tribble.Dd "Nov 26, 2017"
15b65dd972SRobert Mustacchi.Dt GETPROGNAME 3C
16b65dd972SRobert Mustacchi.Os
17b65dd972SRobert Mustacchi.Sh NAME
18b65dd972SRobert Mustacchi.Nm getprogname ,
19b65dd972SRobert Mustacchi.Nm setprogname
20b65dd972SRobert Mustacchi.Nd get or set the program name
21b65dd972SRobert Mustacchi.Sh SYNOPSIS
22b65dd972SRobert Mustacchi.In stdlib.h
23b65dd972SRobert Mustacchi.Ft const char *
24b65dd972SRobert Mustacchi.Fo getprogname
25b65dd972SRobert Mustacchi.Fa void
26b65dd972SRobert Mustacchi.Fc
27b65dd972SRobert Mustacchi.Ft void
28b65dd972SRobert Mustacchi.Fo setprogname
29b65dd972SRobert Mustacchi.Fa "const char *progname"
30b65dd972SRobert Mustacchi.Fc
31b65dd972SRobert Mustacchi.Sh DESCRIPTION
32b65dd972SRobert MustacchiThe
33b65dd972SRobert Mustacchi.Fn getprogname
3472d3dbb9SYuri Pankovfunction is used to obtain the program name.
3572d3dbb9SYuri PankovThe program name is set at program start-up, before
36b65dd972SRobert Mustacchi.Fn main
3772d3dbb9SYuri Pankovis called.
3872d3dbb9SYuri PankovNote, other operating systems, do not guarantee that a program name has been set
3972d3dbb9SYuri Pankovat start up time and therefore may return a null pointer if
40b65dd972SRobert Mustacchi.Fn setprogname
41b65dd972SRobert Mustacchihas not been called.
42b65dd972SRobert Mustacchi.Lp
43b65dd972SRobert MustacchiThe
44b65dd972SRobert Mustacchi.Fn setprogname
4572d3dbb9SYuri Pankovfunction is used to change the program name to another value.
4672d3dbb9SYuri PankovThe argument
47b65dd972SRobert Mustacchi.Fa progname
48c5bab702SPeter Tribblemust contain a null terminated character string, whose last component
49b65dd972SRobert Mustacchiwhich will become the new program name.
50b65dd972SRobert Mustacchi.Sh RETURN VALUES
51b65dd972SRobert MustacchiThe
52b65dd972SRobert Mustacchi.Fn getprogname
5372d3dbb9SYuri Pankovfunction always returns the current program name.
5472d3dbb9SYuri PankovThe program name is always set, it will not return a null pointer.
55b65dd972SRobert Mustacchi.Sh INTERFACE STABILITY
56b65dd972SRobert Mustacchi.Sy Committed
57b65dd972SRobert Mustacchi.Sh MT-LEVEL
58b65dd972SRobert Mustacchi.Fn getprogname
59b65dd972SRobert Mustacchiis
60b65dd972SRobert Mustacchi.Sy MT-Safe .
61b65dd972SRobert Mustacchi.Lp
62b65dd972SRobert Mustacchi.Fn setprogname
63b65dd972SRobert Mustacchiis
64b65dd972SRobert Mustacchi.Sy Unsafe .
65b65dd972SRobert Mustacchi.Sh SEE ALSO
66b65dd972SRobert Mustacchi.Xr err 3c ,
67*bbf21555SRichard Lowe.Xr attributes 7
68b65dd972SRobert Mustacchi.Sh NOTES
69b65dd972SRobert MustacchiThe use of
70b65dd972SRobert Mustacchi.Fn setprogname
71b65dd972SRobert Mustacchidoes not modify the program name as reported by utilities like
72b65dd972SRobert Mustacchi.Xr ps 1
73b65dd972SRobert Mustacchior
74b65dd972SRobert Mustacchi.Xr pargs 1 ;
75b65dd972SRobert Mustacchihowever, it does ensure a consistent program name for the
76b65dd972SRobert Mustacchi.Xr err 3C
77b65dd972SRobert Mustacchifamily of functions.
78