xref: /openbsd/lib/libc/gen/uname.3 (revision 5dea098c)
1.\"	$OpenBSD: uname.3,v 1.19 2023/10/09 19:32:51 schwarze Exp $
2.\"
3.\" Copyright (c) 1994
4.\"	The Regents of the University of California.  All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. Neither the name of the University nor the names of its contributors
15.\"    may be used to endorse or promote products derived from this software
16.\"    without specific prior written permission.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28.\" SUCH DAMAGE.
29.\"
30.Dd $Mdocdate: October 9 2023 $
31.Dt UNAME 3
32.Os
33.Sh NAME
34.Nm uname
35.Nd get system identification
36.Sh SYNOPSIS
37.In sys/utsname.h
38.Ft int
39.Fn uname "struct utsname *name"
40.Sh DESCRIPTION
41The
42.Fn uname
43function stores NUL-terminated strings of information identifying
44the current system into the structure referenced by
45.Fa name .
46.Pp
47The
48.Vt utsname
49structure is defined in the
50.In sys/utsname.h
51header file, and contains the following members:
52.Pp
53.Bl -tag -width nodenameXXXX -offset indent -compact
54.It Fa sysname
55Name of the operating system implementation.
56.It Fa nodename
57Network name of this machine.
58.It Fa release
59Release level of the operating system.
60.It Fa version
61Version level of the operating system.
62.It Fa machine
63Machine hardware platform.
64.El
65.Pp
66These are the same strings that can be displayed with
67.Xr uname 1 .
68Because their format and meaning depends on the operating system,
69trying to parse or interpret them is discouraged in portable code.
70The only reasonable way an application program can use them
71is for displaying them to the user.
72.Sh RETURN VALUES
73The
74.Fn uname
75function returns a non-negative value if successful;
76otherwise the value -1 is returned and the global variable
77.Va errno
78is set to indicate the error.
79.Sh ERRORS
80The
81.Fn uname
82function may fail and set
83.Va errno
84for any of the errors specified for the library function
85.Xr sysctl 2 .
86.Sh SEE ALSO
87.Xr uname 1 ,
88.Xr sysctl 2
89.Sh STANDARDS
90The
91.Fn uname
92function conforms to
93.St -p1003.1-88 .
94.Sh HISTORY
95The
96.Fn uname
97function first appeared in PWB/UNIX 1.0
98and was reimplemented for
99.Bx 4.4 .
100