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 }