From: PHO <pho@cielonegro.org> Date: Sat, 9 Oct 2010 05:55:06 +0000 (+0900) Subject: AVLTree.h X-Git-Url: https://git.cielonegro.org/gitweb.cgi?a=commitdiff_plain;h=40230c2d18a8a925f22add7f00e6ac7d98e2d5b3;p=bindings-CarbonCore.git AVLTree.h --- diff --git a/Bindings/CoreServices/CarbonCore/AVLTree.hsc b/Bindings/CoreServices/CarbonCore/AVLTree.hsc new file mode 100644 index 0000000..7692547 --- /dev/null +++ b/Bindings/CoreServices/CarbonCore/AVLTree.hsc @@ -0,0 +1,56 @@ +#include <bindings.dsl.h> +#include <CoreServices/CoreServices.h> + +module Bindings.CoreServices.CarbonCore.AVLTree where +#strict_import +import Bindings.CoreServices.CarbonCore.MacTypes + +#synonym_t AVLVisitStage, <UInt16> +#num kAVLPreOrder +#num kAVLInOrder +#num kAVLPostOrder + +#synonym_t AVLOrder, <UInt16> +#num kLeftToRight +#num kRightToLeft + +#synonym_t AVLNodeType, <UInt16> +#num kAVLIsTree +#num kAVLIsLeftBranch +#num kAVLIsRightBranch +#num kAVLIsLeaf +#num kAVLNullNode + +#num errItemAlreadyInTree +#num errNotValidTree +#num errItemNotFoundInTree +#num errCanNotInsertWhileWalkProcInProgress +#num errTreeIsLocked + +#starttype struct AVLTreeStruct +# field signature, <OSType> +# array_field privateStuff, CULong +#stoptype +#synonym_t AVLTreePtr, Ptr <AVLTreeStruct> + +#callback AVLCompareItemsProcPtr, <AVLTreePtr> -> Ptr () -> Ptr () -> <AVLNodeType> -> IO <SInt32> +#callback AVLItemSizeProcPtr , <AVLTreePtr> -> Ptr () -> <ByteCount> +#callback AVLDisposeItemProcPtr , <AVLTreePtr> -> Ptr () -> IO () +#callback AVLWalkProcPtr , <AVLTreePtr> -> Ptr () -> <AVLVisitStage> -> <AVLNodeType> -> <UInt32> -> <SInt32> -> Ptr () -> IO <OSErr> + +#synonym_t AVLCompareItemsUPP, <AVLCompareItemsProcPtr> +#synonym_t AVLItemSizeUPP , <AVLItemSizeProcPtr> +#synonym_t AVLDisposeItemUPP , <AVLDisposeItemProcPtr> +#synonym_t AVLWalkUPP , <AVLWalkProcPtr> + +#if !__LP64__ +# ccall AVLInit , <UInt32> -> <AVLCompareItemsUPP> -> <AVLItemSizeUPP> -> <AVLDisposeItemUPP> -> Ptr () -> Ptr <AVLTreePtr> -> IO <OSErr> +# ccall AVLDispose , Ptr <AVLTreePtr> -> <AVLOrder> -> IO <OSErr> +# ccall AVLWalk , <AVLTreePtr> -> <AVLWalkUPP> -> <AVLOrder> -> Ptr () -> IO <OSErr> +# ccall AVLCount , <AVLTreePtr> -> Ptr <UInt32> -> IO <OSErr> +# ccall AVLGetIndItem, <AVLTreePtr> -> <UInt32> -> Ptr () -> Ptr <ByteCount> -> IO <OSErr> +# ccall AVLInsert , <AVLTreePtr> -> Ptr () -> IO <OSErr> +# ccall AVLRemove , <AVLTreePtr> -> Ptr () -> Ptr () -> Ptr <ByteCount> -> IO <OSErr> +# ccall AVLFind , <AVLTreePtr> -> Ptr () -> Ptr () -> Ptr <ByteCount> -> IO <OSErr> +# ccall AVLGetRefcon , <AVLTreePtr> -> Ptr (Ptr ()) -> IO <OSErr> +#endif diff --git a/bindings-carbon-core.cabal b/bindings-carbon-core.cabal index e9ed6e3..90e7dd5 100644 --- a/bindings-carbon-core.cabal +++ b/bindings-carbon-core.cabal @@ -30,6 +30,7 @@ Library Exposed-Modules: Bindings.CoreServices.CarbonCore.AIFF + Bindings.CoreServices.CarbonCore.AVLTree Bindings.CoreServices.CarbonCore.MacTypes C-Sources: