Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

root/trunk/tango/stdc/posix/sys/utsname.d

Revision 5266, 1.8 kB (checked in by larsivi, 2 years ago)

Added utsname, thanks doob, closes #1508

  • Property svn:eol-style set to native
Line 
1 /**
2  * D header file for POSIX.
3  *
4  * Copyright: Public Domain
5  * License:   Public Domain
6  * Authors:   Jacob Carlborg
7  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
8  * References: The Open Group $(LINK2 http://www.opengroup.org/onlinepubs/009695399/functions/uname.html, sys/utsname.h) $(BR)
9  *             Mac OS X $(LINK2 http://developer.apple.com/documentation/Darwin/Reference/Manpages/man3/uname.3.html, sys/utsname.h) $(BR)
10  *             FreeBSD $(LINK2 http://www.freebsd.org/cgi/man.cgi?query=uname&sektion=3&apropos=0&manpath=FreeBSD+7.1-RELEASE, sys/utsname.h) $(BR)
11  *             Linux $(LINK2 http://www.gnu.org/software/libc/manual/html_node/Platform-Type.html, sys/utsname.h)
12  */
13 module tango.stdc.posix.sys.utsname;
14
15 extern (C):
16
17 version (darwin)
18 {
19     private const size_t len = 256;
20
21     struct utsname
22     {
23         char[len] sysname;
24         char[len] nodename;
25         char[len] release;
26         char[len] version_; // appended a _ because of the otherwise keyword conflict
27         char[len] machine;
28     }
29 }
30
31 else version (freebsd)
32 {
33     private const size_t len = 256;
34    
35     struct utsname
36     {
37         char[len] sysname;
38         char[len] nodename;
39         char[len] release;
40         char[len] version_; // appended a _ because of the otherwise keyword conflict
41         char[len] machine;
42     }
43 }
44
45 else version (linux)
46 {
47     private const size_t len = 65;
48    
49     struct utsname
50     {
51         char[len] sysname;
52         char[len] nodename;
53         char[len] release;
54         char[len] version_; // appended a _ because of the otherwise keyword conflict
55         char[len] machine;
56         char[len] domainname;
57     }
58 }
59
60 else version (solaris)
61 {
62     private const size_t len = 257;
63    
64     struct utsname
65     {
66         char[len] sysname;
67         char[len] nodename;
68         char[len] release;
69         char[len] version_; // appended a _ because of the otherwise keyword conflict
70         char[len] machine;
71     }
72 }
73
74 else
75     static assert(false, "utsname is not available on this platform");
76
77 int uname(utsname*);
Note: See TracBrowser for help on using the browser.