comparison dstep/coreservices/carboncore/OSUtils.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
comparison
equal deleted inserted replaced
10:27e00625790b 11:07194b026fa4
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Jul 21, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.coreservices.carboncore.OSUtils;
8
9 //import dstep.AvailabilityMacros;
10 import dstep.coreservices.carboncore.DateTimeUtils;
11 import dstep.coreservices.carboncore.MacMemory;
12 import dstep.coreservices.carboncore.MacTypes;
13 import dstep.coreservices.carboncore.MixedMode;
14 import dstep.corefoundation.CFBase;
15 import dstep.internal.Types;
16
17 alias byte QTypes;
18 alias QElem* QElemPtr;
19 alias QHdr* QHdrPtr;
20 alias void* SysPPtr;
21 alias DeferredTaskProcPtr DeferredTaskUPP;
22 alias DeferredTask* DeferredTaskPtr;
23
24 extern (C)
25 {
26 alias void function (int) DeferredTaskProcPtr;
27 }
28
29 enum
30 {
31 sortsBefore = -1,
32 sortsEqual = 0,
33 sortsAfter = 1
34 }
35
36 enum
37 {
38 dummyType = 0,
39 vType = 1,
40 ioQType = 2,
41 drvQType = 3,
42 evType = 4,
43 fsQType = 5,
44 sIQType = 6,
45 dtQType = 7,
46 nmType = 8
47 }
48
49 enum
50 {
51 useFree = 0,
52 useATalk = 1,
53 useAsync = 2,
54 useExtClk = 3,
55 useMIDI = 4
56 }
57
58 enum
59 {
60 false32b = 0,
61 true32b = 1
62 }
63
64 struct QElem
65 {
66 QElem* qLink;
67 short qType;
68 short* qData;
69 }
70
71
72 struct QHdr
73 {
74 short qFlags;
75 QElemPtr qHead;
76 QElemPtr qTail;
77 }
78
79
80 struct MachineLocation
81 {
82 Fract latitude;
83 Fract longitude;
84
85 union
86 {
87 version (BigEndian)
88 byte dlsDelta;
89
90 c_long gmtDelta;
91
92 struct
93 {
94 version (LittleEndian)
95 byte[3] pad;
96
97 byte Delta;
98 }
99 }
100 }
101
102 struct DeferredTask
103 {
104 short qLink;
105 short qType;
106 short dtFlags;
107 int dtAddr;
108 int dtParam;
109 c_long dtReserved;
110 }
111
112 extern (C)
113 {
114 ubyte IsMetric ();
115 void Delay (c_ulong numTicks, c_ulong* finalTicks);
116 void Enqueue (QElemPtr qElement, QHdrPtr qHeader);
117 short Dequeue (QElemPtr qElement, QHdrPtr qHeader);
118 void ReadLocation (MachineLocation* loc);
119 uint TickCount ();
120 CFStringRef CSCopyUserName (ubyte useShortName);
121 CFStringRef CSCopyMachineName ();
122 DeferredTaskUPP NewDeferredTaskUPP (DeferredTaskProcPtr userRoutine);
123 void DisposeDeferredTaskUPP (DeferredTaskUPP userUPP);
124 void InvokeDeferredTaskUPP (int dtParam, DeferredTaskUPP userUPP);
125 }