Mercurial > projects > dstep
comparison dstep/coreservices/carboncore/Resources.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.Resources; | |
8 | |
9 //import dstep.AvailabilityMacros; | |
10 import dstep.coreservices.carboncore.Files; | |
11 import dstep.coreservices.carboncore.MacTypes; | |
12 import dstep.coreservices.carboncore.MixedMode; | |
13 | |
14 alias short ResID; | |
15 alias short ResAttributes; | |
16 alias short ResFileAttributes; | |
17 alias short ResourceCount; | |
18 alias short ResourceIndex; | |
19 alias short ResFileRefNum; | |
20 alias ResErrProcPtr ResErrUPP; | |
21 alias short RsrcChainLocation; | |
22 | |
23 extern (C) | |
24 { | |
25 alias void function (short) ResErrProcPtr; | |
26 alias short function (Handle, ubyte) ResourceEndianFilterPtr; | |
27 } | |
28 | |
29 enum | |
30 { | |
31 resSysRefBit = 7, | |
32 resSysHeapBit = 6, | |
33 resPurgeableBit = 5, | |
34 resLockedBit = 4, | |
35 resProtectedBit = 3, | |
36 resPreloadBit = 2, | |
37 resChangedBit = 1 | |
38 } | |
39 | |
40 enum | |
41 { | |
42 resSysHeap = 64, | |
43 resPurgeable = 32, | |
44 resLocked = 16, | |
45 resProtected = 8, | |
46 resPreload = 4, | |
47 resChanged = 2 | |
48 } | |
49 | |
50 enum | |
51 { | |
52 mapReadOnlyBit = 7, | |
53 mapCompactBit = 6, | |
54 mapChangedBit = 5 | |
55 } | |
56 | |
57 enum | |
58 { | |
59 mapReadOnly = 128, | |
60 mapCompact = 64, | |
61 mapChanged = 32 | |
62 } | |
63 | |
64 enum | |
65 { | |
66 kResFileNotOpened = -1, | |
67 kSystemResFile = 0 | |
68 } | |
69 | |
70 enum | |
71 { | |
72 kRsrcChainBelowSystemMap = 0, | |
73 kRsrcChainBelowApplicationMap = 1, | |
74 kRsrcChainAboveApplicationMap = 2, | |
75 kRsrcChainAboveAllMaps = 4 | |
76 } | |
77 | |
78 extern (C) | |
79 { | |
80 ResErrUPP NewResErrUPP (ResErrProcPtr userRoutine); | |
81 void DisposeResErrUPP (ResErrUPP userUPP); | |
82 void InvokeResErrUPP (short thErr, ResErrUPP userUPP); | |
83 void CloseResFile (short refNum); | |
84 short ResError (); | |
85 short CurResFile (); | |
86 short HomeResFile (Handle theResource); | |
87 void UseResFile (short refNum); | |
88 short CountTypes (); | |
89 short Count1Types (); | |
90 void GetIndType (ResType* theType, short itemIndex); | |
91 void Get1IndType (ResType* theType, short itemIndex); | |
92 void SetResLoad (ubyte load); | |
93 short CountResources (uint theType); | |
94 short Count1Resources (uint theType); | |
95 Handle GetIndResource (uint theType, short itemIndex); | |
96 Handle Get1IndResource (uint theType, short itemIndex); | |
97 Handle GetResource (uint theType, short theID); | |
98 Handle Get1Resource (uint theType, short theID); | |
99 Handle GetNamedResource (uint theType, char* name); | |
100 Handle Get1NamedResource (uint theType, char* name); | |
101 void LoadResource (Handle theResource); | |
102 void ReleaseResource (Handle theResource); | |
103 void DetachResource (Handle theResource); | |
104 short UniqueID (uint theType); | |
105 short Unique1ID (uint theType); | |
106 short GetResAttrs (Handle theResource); | |
107 void GetResInfo (Handle theResource, ResID* theID, ResType* theType, ubyte[256] name); | |
108 void SetResInfo (Handle theResource, short theID, char* name); | |
109 void AddResource (Handle theData, uint theType, short theID, char* name); | |
110 int GetResourceSizeOnDisk (Handle theResource); | |
111 int GetMaxResourceSize (Handle theResource); | |
112 void SetResAttrs (Handle theResource, short attrs); | |
113 void ChangedResource (Handle theResource); | |
114 void RemoveResource (Handle theResource); | |
115 void UpdateResFile (short refNum); | |
116 void WriteResource (Handle theResource); | |
117 void SetResPurge (ubyte install); | |
118 short GetResFileAttrs (short refNum); | |
119 void SetResFileAttrs (short refNum, short attrs); | |
120 void ReadPartialResource (Handle theResource, int offset, void* buffer, int count); | |
121 void WritePartialResource (Handle theResource, int offset, void* buffer, int count); | |
122 void SetResourceSize (Handle theResource, int newSize); | |
123 Handle GetNextFOND (Handle fondHandle); | |
124 short InsertResourceFile (short refNum, short where); | |
125 short DetachResourceFile (short refNum); | |
126 short GetTopResourceFile (ResFileRefNum* refNum); | |
127 short GetNextResourceFile (short curRefNum, ResFileRefNum* nextRefNum); | |
128 short FSOpenResFile (FSRef* ref_, byte permission); | |
129 void FSCreateResFile (FSRef* parentRef, uint nameLength, wchar* name, uint whichInfo, FSCatalogInfo* catalogInfo, FSRef* newRef, FSSpecPtr newSpec); | |
130 ubyte FSResourceFileAlreadyOpen (FSRef* resourceFileRef, char* inChain, ResFileRefNum* refNum); | |
131 short FSOpenOrphanResFile (FSRef* ref_, byte permission, ResFileRefNum* refNum); | |
132 short FSCreateResourceFile (FSRef* parentRef, uint nameLength, wchar* name, uint whichInfo, FSCatalogInfo* catalogInfo, uint forkNameLength, wchar* forkName, FSRef* newRef, FSSpecPtr newSpec); | |
133 short FSCreateResourceFork (FSRef* ref_, uint forkNameLength, wchar* forkName, uint flags); | |
134 short FSOpenResourceFile (FSRef* ref_, uint forkNameLength, wchar* forkName, byte permissions, ResFileRefNum* refNum); | |
135 } |