Mercurial > projects > dstep
diff dstep/coreservices/carboncore/MacTypes.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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/coreservices/carboncore/MacTypes.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,273 @@ +/** + * 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.MacTypes; + +//import dstep.AvailabilityMacros; +import dstep.coreservices.carboncore.ConditionalMacros; +import dstep.internal.Types; +//import dstep.stdbool; +//import dstep.sys.types; + +struct TimeBaseRecord; + +alias ubyte UInt8; +alias byte SInt8; +alias ushort UInt16; +alias short SInt16; +alias uint UInt32; +alias int SInt32; +alias long SInt64; +alias ulong UInt64; +alias int Fixed; +alias Fixed* FixedPtr; +alias int Fract; +alias Fract* FractPtr; +alias uint UnsignedFixed; +alias UnsignedFixed* UnsignedFixedPtr; +alias short ShortFixed; +alias ShortFixed* ShortFixedPtr; +alias float Float32; +alias double Float64; +alias char* Ptr; +alias Ptr* Handle; +alias int Size; +alias short OSErr; +alias int OSStatus; +alias void* LogicalAddress; +alias void* ConstLogicalAddress; +alias void* PhysicalAddress; +alias char* BytePtr; +alias uint ByteCount; +alias uint ByteOffset; +alias int Duration; +alias UnsignedWide AbsoluteTime; +alias uint OptionBits; +alias uint ItemCount; +alias uint PBVersion; +alias short ScriptCode; +alias short LangCode; +alias short RegionCode; +alias uint FourCharCode; +alias uint OSType; +alias uint ResType; +alias OSType* OSTypePtr; +alias ResType* ResTypePtr; +alias bool Boolean; +alias ProcPtr UniversalProcPtr; +alias ProcPtr* ProcHandle; +alias UniversalProcPtr* UniversalProcHandle; +alias void* PRefCon; +alias void* URefCon; +alias void* SRefCon; +alias uint UnicodeScalarValue; +alias dchar UTF32Char; +alias wchar UniChar; +alias wchar UTF16Char; +alias char UTF8Char; +alias wchar* UniCharPtr; +alias c_ulong UniCharCount; +alias UniCharCount* UniCharCountPtr; +alias char[256] Str255; +alias char[64] Str63; +alias char[33] Str32; +alias char[32] Str31; +alias char[28] Str28; +alias char[16] Str15; +alias Str63 StrFileName; +alias char* StringPtr; +alias StringPtr* StringHandle; +alias char* ConstStringPtr; +alias char* ConstStr255Param; +alias char* ConstStr63Param; +alias char* ConstStr32Param; +alias char* ConstStr31Param; +alias char* ConstStr27Param; +alias char* ConstStr15Param; +alias char* ConstStrFileNameParam; +alias ProcessSerialNumber* ProcessSerialNumberPtr; +alias Point* PointPtr; +alias Rect* RectPtr; +alias short CharParameter; +alias ubyte Style; +alias short StyleParameter; +alias ubyte StyleField; +alias int TimeValue; +alias int TimeScale; +alias wide CompTimeValue; +alias long TimeValue64; +alias TimeBaseRecord* TimeBase; +alias NumVersionVariant* NumVersionVariantPtr; +alias NumVersionVariantPtr* NumVersionVariantHandle; +alias VersRec* VersRecPtr; +alias VersRecPtr* VersRecHndl; +alias ubyte Byte; +alias byte SignedByte; +alias wide* WidePtr; +alias UnsignedWide* UnsignedWidePtr; +alias Float80[] extended80; +alias Float96[][] extended96; +alias byte VHSelect; + +extern (C) +{ + alias c_long function () Register68kProcPtr; + alias void function () ProcPtr; +} + +enum +{ + noErr = 0 +} + +enum +{ + kNilOptions = 0 +} + +enum +{ + kVariableLengthArray = 1 +} + +enum +{ + kUnknownType = 0x3F3F3F3F +} + +enum +{ + normal = 0, + bold = 1, + italic = 2, + underline = 4, + outline = 8, + shadow = 0x10, + condense = 0x20, + extend = 0x40 +} + +enum +{ + developStage = 0x20, + alphaStage = 0x40, + betaStage = 0x60, + finalStage = 0x80 +} + +union NumVersionVariant +{ + NumVersion parts; + uint whole; +} + +struct wide +{ + uint lo; + int hi; +} + + +struct UnsignedWide +{ + uint lo; + uint hi; +} + + +struct Float80 +{ + short exp; + UInt16* man; +} + + +struct Float96 +{ + SInt16* exp; + UInt16* man; +} + + +struct Float32Point +{ + float x; + float y; +} + + +struct ProcessSerialNumber +{ + uint highLongOfPSN; + uint lowLongOfPSN; +} + + +struct Point +{ + short v; + short h; +} + + +struct Rect +{ + short top; + short left; + short bottom; + short right; +} + + +struct FixedPoint +{ + int x; + int y; +} + + +struct FixedRect +{ + int left; + int top; + int right; + int bottom; +} + + +struct TimeRecord +{ + CompTimeValue value; + int scale; + TimeBase base; +} + + +struct NumVersion +{ + ubyte nonRelRev; + ubyte stage; + ubyte minorAndBugRev; + ubyte majorRev; +} + + +struct VersRec +{ + NumVersion numericVersion; + short countryCode; + ubyte[256] shortVersion; + ubyte[256] reserved; +} + +extern (C) +{ + void Debugger (); + void DebugStr (char* debuggerMsg); + void SysBreak (); + void SysBreakStr (char* debuggerMsg); + void SysBreakFunc (char* debuggerMsg); +} \ No newline at end of file