X-Git-Url: https://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Bindings%2FCoreServices%2FCarbonCore%2FAVLTree.hsc;fp=Bindings%2FCoreServices%2FCarbonCore%2FAVLTree.hsc;h=7692547ac77faaf3dbbc3c81f5904fb2c614804b;hb=40230c2d18a8a925f22add7f00e6ac7d98e2d5b3;hp=0000000000000000000000000000000000000000;hpb=7d33f7f3b195174fbb2dc5bb42e3baf2cb133219;p=bindings-CarbonCore.git 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 +#include + +module Bindings.CoreServices.CarbonCore.AVLTree where +#strict_import +import Bindings.CoreServices.CarbonCore.MacTypes + +#synonym_t AVLVisitStage, +#num kAVLPreOrder +#num kAVLInOrder +#num kAVLPostOrder + +#synonym_t AVLOrder, +#num kLeftToRight +#num kRightToLeft + +#synonym_t AVLNodeType, +#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, +# array_field privateStuff, CULong +#stoptype +#synonym_t AVLTreePtr, Ptr + +#callback AVLCompareItemsProcPtr, -> Ptr () -> Ptr () -> -> IO +#callback AVLItemSizeProcPtr , -> Ptr () -> +#callback AVLDisposeItemProcPtr , -> Ptr () -> IO () +#callback AVLWalkProcPtr , -> Ptr () -> -> -> -> -> Ptr () -> IO + +#synonym_t AVLCompareItemsUPP, +#synonym_t AVLItemSizeUPP , +#synonym_t AVLDisposeItemUPP , +#synonym_t AVLWalkUPP , + +#if !__LP64__ +# ccall AVLInit , -> -> -> -> Ptr () -> Ptr -> IO +# ccall AVLDispose , Ptr -> -> IO +# ccall AVLWalk , -> -> -> Ptr () -> IO +# ccall AVLCount , -> Ptr -> IO +# ccall AVLGetIndItem, -> -> Ptr () -> Ptr -> IO +# ccall AVLInsert , -> Ptr () -> IO +# ccall AVLRemove , -> Ptr () -> Ptr () -> Ptr -> IO +# ccall AVLFind , -> Ptr () -> Ptr () -> Ptr -> IO +# ccall AVLGetRefcon , -> Ptr (Ptr ()) -> IO +#endif