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