Mercurial > projects > dstep
view dstep/coreservices/carboncore/Endian.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.Endian; //import dstep.AvailabilityMacros; import dstep.coreservices.carboncore.ConditionalMacros; import dstep.coreservices.carboncore.MacTypes; //import dstep.libkern.OSByteOrder; import dstep.objc.bridge.TypeEncoding; extern (C) { alias int function (uint, uint, short, void*, uint, ubyte, void*) CoreEndianFlipProc; } // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __kCoreEndianResourceManagerDomain = getOSType!("rsrc"); const __kCoreEndianAppleEventManagerDomain = getOSType!("aevt"); } } enum { kCoreEndianResourceManagerDomain = getOSType!("rsrc"), kCoreEndianAppleEventManagerDomain = getOSType!("aevt") } struct BigEndianLong { int bigEndianValue; } struct BigEndianUnsignedLong { uint bigEndianValue; } struct BigEndianShort { short bigEndianValue; } struct BigEndianUnsignedShort { ushort bigEndianValue; } struct BigEndianFixed { int bigEndianValue; } struct BigEndianUnsignedFixed { uint bigEndianValue; } struct BigEndianOSType { uint bigEndianValue; } extern (C) { int CoreEndianInstallFlipper (uint dataDomain, uint dataType, CoreEndianFlipProc proc, void* refcon); int CoreEndianGetFlipper (uint dataDomain, uint dataType, CoreEndianFlipProc* proc, void** refcon); int CoreEndianFlipData (uint dataDomain, uint dataType, short id, void* data, uint dataLen, ubyte currentlyNative); }