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