Mercurial > projects > ldc
comparison lphobos/std/system.d @ 473:373489eeaf90
Applied downs' lphobos update
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 04 Aug 2008 19:28:49 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
472:15c804b6ce77 | 473:373489eeaf90 |
---|---|
1 // Written in the D programming language | |
2 | |
3 /** | |
4 * Information about the target operating system, environment, and CPU | |
5 * Authors: Walter Bright, www.digitalmars.com | |
6 * License: Public Domain | |
7 * Macros: | |
8 * WIKI = Phobos/StdSystem | |
9 */ | |
10 | |
11 /* NOTE: This file has been patched from the original DMD distribution to | |
12 work with the GDC compiler. | |
13 | |
14 Modified by David Friedman, September 2007 | |
15 */ | |
16 | |
17 // Information about the target operating system, environment, and CPU | |
18 | |
19 module std.system; | |
20 | |
21 const | |
22 { | |
23 | |
24 // Operating system family | |
25 enum Family | |
26 { | |
27 Win32 = 1, // Microsoft 32 bit Windows systems | |
28 linux, // all linux systems | |
29 Unix, // Unix-like | |
30 NoSystem // No operating system | |
31 } | |
32 | |
33 version (Win32) | |
34 { | |
35 Family family = Family.Win32; | |
36 } | |
37 else version (linux) | |
38 { | |
39 Family family = Family.linux; | |
40 } | |
41 else version (Unix) | |
42 { | |
43 Family family = Family.Unix; | |
44 } | |
45 else version (NoSystem) | |
46 { | |
47 Family family = Family.NoSystem; | |
48 } | |
49 else | |
50 { | |
51 static assert(0); | |
52 } | |
53 | |
54 // More specific operating system name | |
55 enum OS | |
56 { | |
57 Windows95 = 1, | |
58 Windows98, | |
59 WindowsME, | |
60 WindowsNT, | |
61 Windows2000, | |
62 WindowsXP, | |
63 | |
64 RedHatLinux, | |
65 } | |
66 | |
67 /// Byte order endianness | |
68 | |
69 enum Endian | |
70 { | |
71 BigEndian, /// big endian byte order | |
72 LittleEndian /// little endian byte order | |
73 } | |
74 | |
75 version(LittleEndian) | |
76 { | |
77 /// Native system endianness | |
78 Endian endian = Endian.LittleEndian; | |
79 } | |
80 else | |
81 { | |
82 Endian endian = Endian.BigEndian; | |
83 } | |
84 } | |
85 | |
86 // The rest should get filled in dynamically at runtime | |
87 | |
88 OS os = OS.WindowsXP; | |
89 | |
90 // Operating system version as in | |
91 // os_major.os_minor | |
92 uint os_major = 4; | |
93 uint os_minor = 0; | |
94 | |
95 |