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.\"
14b65dd972SRobert Mustacchi.Dd "Dec 22, 2014"
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
34b65dd972SRobert Mustacchifunction is used to obtain the program name. The program name is set at
35b65dd972SRobert Mustacchiprogram start-up, before
36b65dd972SRobert Mustacchi.Fn main
37b65dd972SRobert Mustacchiis called. Note, other operating systems, do not guarantee that a
38b65dd972SRobert Mustacchiprogram name has been set at start up time and therefore may return a
39b65dd972SRobert Mustacchinull pointer if
40b65dd972SRobert Mustacchi.Fn setprogname
41b65dd972SRobert Mustacchihas not been called.
42b65dd972SRobert Mustacchi.Lp
43b65dd972SRobert MustacchiThe
44b65dd972SRobert Mustacchi.Fn setprogname
45b65dd972SRobert Mustacchifunction is used to change the program name to another value. The
46b65dd972SRobert Mustacchiargument
47b65dd972SRobert Mustacchi.Fa progname
48b65dd972SRobert Mustacchimust contain a null terminatd character string, whose last component
49b65dd972SRobert Mustacchiwhich will become the new program name.
50b65dd972SRobert Mustacchi.Sh RETURN VALUES
51b65dd972SRobert MustacchiThe
52b65dd972SRobert Mustacchi.Fn getprogname
53b65dd972SRobert Mustacchifunction always returns the current program name. The program name is
54b65dd972SRobert Mustacchialways 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 ,
67b65dd972SRobert Mustacchi.Xr attributes 5
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