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