50 |
7u83 |
1 |
.\"
|
|
|
2 |
.\" Copyright (c) 2001 Christopher G. Demetriou
|
|
|
3 |
.\" All rights reserved.
|
|
|
4 |
.\"
|
|
|
5 |
.\" Redistribution and use in source and binary forms, with or without
|
|
|
6 |
.\" modification, are permitted provided that the following conditions
|
|
|
7 |
.\" are met:
|
|
|
8 |
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
9 |
.\" notice, this list of conditions and the following disclaimer.
|
|
|
10 |
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
11 |
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
12 |
.\" documentation and/or other materials provided with the distribution.
|
|
|
13 |
.\" 3. All advertising materials mentioning features or use of this software
|
|
|
14 |
.\" must display the following acknowledgement:
|
|
|
15 |
.\" This product includes software developed for the
|
|
|
16 |
.\" NetBSD Project. See http://www.netbsd.org/ for
|
|
|
17 |
.\" information about NetBSD.
|
|
|
18 |
.\" 4. The name of the author may not be used to endorse or promote products
|
|
|
19 |
.\" derived from this software without specific prior written permission.
|
|
|
20 |
.\"
|
|
|
21 |
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
|
22 |
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
|
23 |
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
|
24 |
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
|
25 |
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
|
26 |
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
27 |
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
28 |
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
29 |
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
|
30 |
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
31 |
.\"
|
|
|
32 |
.\" $FreeBSD: releng/12.0/lib/libc/gen/getprogname.3 84306 2001-10-01 16:09:29Z ru $
|
|
|
33 |
.\"
|
|
|
34 |
.Dd May 1, 2001
|
|
|
35 |
.Dt GETPROGNAME 3
|
|
|
36 |
.Os
|
|
|
37 |
.Sh NAME
|
|
|
38 |
.Nm getprogname ,
|
|
|
39 |
.Nm setprogname
|
|
|
40 |
.Nd get or set the program name
|
|
|
41 |
.Sh LIBRARY
|
|
|
42 |
.Lb libc
|
|
|
43 |
.Sh SYNOPSIS
|
|
|
44 |
.In stdlib.h
|
|
|
45 |
.Ft const char *
|
|
|
46 |
.Fn getprogname "void"
|
|
|
47 |
.Ft void
|
|
|
48 |
.Fn setprogname "const char *progname"
|
|
|
49 |
.Sh DESCRIPTION
|
|
|
50 |
The
|
|
|
51 |
.Fn getprogname
|
|
|
52 |
and
|
|
|
53 |
.Fn setprogname
|
|
|
54 |
functions manipulate the name of the current program.
|
|
|
55 |
They are used by error-reporting routines to produce
|
|
|
56 |
consistent output.
|
|
|
57 |
.Pp
|
|
|
58 |
The
|
|
|
59 |
.Fn getprogname
|
|
|
60 |
function returns the name of the program.
|
|
|
61 |
If the name has not been set yet, it will return
|
|
|
62 |
.Dv NULL .
|
|
|
63 |
.Pp
|
|
|
64 |
The
|
|
|
65 |
.Fn setprogname
|
|
|
66 |
function sets the name of the program to be the last component of the
|
|
|
67 |
.Fa progname
|
|
|
68 |
argument.
|
|
|
69 |
Since a pointer to the given string is kept as the program name,
|
|
|
70 |
it should not be modified for the rest of the program's lifetime.
|
|
|
71 |
.Pp
|
|
|
72 |
In
|
|
|
73 |
.Fx ,
|
|
|
74 |
the name of the program is set by the start-up code that is run before
|
|
|
75 |
.Fn main ;
|
|
|
76 |
thus,
|
|
|
77 |
running
|
|
|
78 |
.Fn setprogname
|
|
|
79 |
is not necessary.
|
|
|
80 |
Programs that desire maximum portability should still call it;
|
|
|
81 |
on another operating system,
|
|
|
82 |
these functions may be implemented in a portability library.
|
|
|
83 |
Calling
|
|
|
84 |
.Fn setprogname
|
|
|
85 |
allows the aforementioned library to learn the program name without
|
|
|
86 |
modifications to the start-up code.
|
|
|
87 |
.Sh SEE ALSO
|
|
|
88 |
.Xr err 3 ,
|
|
|
89 |
.Xr setproctitle 3
|
|
|
90 |
.Sh HISTORY
|
|
|
91 |
These functions first appeared in
|
|
|
92 |
.Nx 1.6 ,
|
|
|
93 |
and made their way into
|
|
|
94 |
.Fx 4.4 .
|