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