GNU Octave
8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
uname-wrapper.c
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////
2
//
3
// Copyright (C) 2016-2023 The Octave Project Developers
4
//
5
// See the file COPYRIGHT.md in the top-level directory of this
6
// distribution or <https://octave.org/copyright/>.
7
//
8
// This file is part of Octave.
9
//
10
// Octave is free software: you can redistribute it and/or modify it
11
// under the terms of the GNU General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// Octave is distributed in the hope that it will be useful, but
16
// WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU General Public License for more details.
19
//
20
// You should have received a copy of the GNU General Public License
21
// along with Octave; see the file COPYING. If not, see
22
// <https://www.gnu.org/licenses/>.
23
//
24
////////////////////////////////////////////////////////////////////////
25
26
// uname may be provided by gnulib. We don't include gnulib headers
27
// directly in Octave's C++ source files to avoid problems that may be
28
// caused by the way that gnulib overrides standard library functions.
29
30
#if defined (HAVE_CONFIG_H)
31
# include "config.h"
32
#endif
33
34
#include <sys/utsname.h>
35
36
#include "
uname-wrapper.h
"
37
38
// Returns pointers to static storage.
39
40
int
41
octave_uname_wrapper
(
char
**sysname,
char
**nodename,
42
char
**
release
,
char
**version,
char
**machine)
43
{
44
static
struct
utsname unm;
45
46
int
err =
uname
(&unm);
47
48
if
(err < 0)
49
{
50
*sysname = 0;
51
*nodename = 0;
52
*
release
= 0;
53
*version = 0;
54
*machine = 0;
55
}
56
else
57
{
58
*sysname = unm.sysname;
59
*nodename = unm.nodename;
60
*
release
= unm.release;
61
*version = unm.version;
62
*machine = unm.machine;
63
}
64
65
return
err;
66
}
uname
Definition:
oct-uname.h:40
release
std::string release(void)
Definition:
defaults.cc:143
octave_uname_wrapper
int octave_uname_wrapper(char **sysname, char **nodename, char **release, char **version, char **machine)
Definition:
uname-wrapper.c:41
uname-wrapper.h
liboctave
wrappers
uname-wrapper.c
Generated on Sun Mar 12 2023 22:37:23 for GNU Octave by
1.9.1