Mercurial > projects > dstep
view 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 |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Jul 21, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.coreservices.carboncore.Resources; //import dstep.AvailabilityMacros; import dstep.coreservices.carboncore.Files; import dstep.coreservices.carboncore.MacTypes; import dstep.coreservices.carboncore.MixedMode; alias short ResID; alias short ResAttributes; alias short ResFileAttributes; alias short ResourceCount; alias short ResourceIndex; alias short ResFileRefNum; alias ResErrProcPtr ResErrUPP; alias short RsrcChainLocation; extern (C) { alias void function (short) ResErrProcPtr; alias short function (Handle, ubyte) ResourceEndianFilterPtr; } enum { resSysRefBit = 7, resSysHeapBit = 6, resPurgeableBit = 5, resLockedBit = 4, resProtectedBit = 3, resPreloadBit = 2, resChangedBit = 1 } enum { resSysHeap = 64, resPurgeable = 32, resLocked = 16, resProtected = 8, resPreload = 4, resChanged = 2 } enum { mapReadOnlyBit = 7, mapCompactBit = 6, mapChangedBit = 5 } enum { mapReadOnly = 128, mapCompact = 64, mapChanged = 32 } enum { kResFileNotOpened = -1, kSystemResFile = 0 } enum { kRsrcChainBelowSystemMap = 0, kRsrcChainBelowApplicationMap = 1, kRsrcChainAboveApplicationMap = 2, kRsrcChainAboveAllMaps = 4 } extern (C) { ResErrUPP NewResErrUPP (ResErrProcPtr userRoutine); void DisposeResErrUPP (ResErrUPP userUPP); void InvokeResErrUPP (short thErr, ResErrUPP userUPP); void CloseResFile (short refNum); short ResError (); short CurResFile (); short HomeResFile (Handle theResource); void UseResFile (short refNum); short CountTypes (); short Count1Types (); void GetIndType (ResType* theType, short itemIndex); void Get1IndType (ResType* theType, short itemIndex); void SetResLoad (ubyte load); short CountResources (uint theType); short Count1Resources (uint theType); Handle GetIndResource (uint theType, short itemIndex); Handle Get1IndResource (uint theType, short itemIndex); Handle GetResource (uint theType, short theID); Handle Get1Resource (uint theType, short theID); Handle GetNamedResource (uint theType, char* name); Handle Get1NamedResource (uint theType, char* name); void LoadResource (Handle theResource); void ReleaseResource (Handle theResource); void DetachResource (Handle theResource); short UniqueID (uint theType); short Unique1ID (uint theType); short GetResAttrs (Handle theResource); void GetResInfo (Handle theResource, ResID* theID, ResType* theType, ubyte[256] name); void SetResInfo (Handle theResource, short theID, char* name); void AddResource (Handle theData, uint theType, short theID, char* name); int GetResourceSizeOnDisk (Handle theResource); int GetMaxResourceSize (Handle theResource); void SetResAttrs (Handle theResource, short attrs); void ChangedResource (Handle theResource); void RemoveResource (Handle theResource); void UpdateResFile (short refNum); void WriteResource (Handle theResource); void SetResPurge (ubyte install); short GetResFileAttrs (short refNum); void SetResFileAttrs (short refNum, short attrs); void ReadPartialResource (Handle theResource, int offset, void* buffer, int count); void WritePartialResource (Handle theResource, int offset, void* buffer, int count); void SetResourceSize (Handle theResource, int newSize); Handle GetNextFOND (Handle fondHandle); short InsertResourceFile (short refNum, short where); short DetachResourceFile (short refNum); short GetTopResourceFile (ResFileRefNum* refNum); short GetNextResourceFile (short curRefNum, ResFileRefNum* nextRefNum); short FSOpenResFile (FSRef* ref_, byte permission); void FSCreateResFile (FSRef* parentRef, uint nameLength, wchar* name, uint whichInfo, FSCatalogInfo* catalogInfo, FSRef* newRef, FSSpecPtr newSpec); ubyte FSResourceFileAlreadyOpen (FSRef* resourceFileRef, char* inChain, ResFileRefNum* refNum); short FSOpenOrphanResFile (FSRef* ref_, byte permission, ResFileRefNum* refNum); short FSCreateResourceFile (FSRef* parentRef, uint nameLength, wchar* name, uint whichInfo, FSCatalogInfo* catalogInfo, uint forkNameLength, wchar* forkName, FSRef* newRef, FSSpecPtr newSpec); short FSCreateResourceFork (FSRef* ref_, uint forkNameLength, wchar* forkName, uint flags); short FSOpenResourceFile (FSRef* ref_, uint forkNameLength, wchar* forkName, byte permissions, ResFileRefNum* refNum); }