Mercurial > projects > dstep
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 } |