/* File: HList.h Contains: Interface definition for routines in HList.c Written by: Phil Goldman Copyright: © 1988-1991 by Apple Computer, Inc., all rights reserved. Change History (most recent first): <0> 5/12/88 PYG New Today. */ #ifndef __HLIST__ #define __HLIST__ /* HList types */ typedef unsigned long HListElem, *HListPtr, **HListHdl; typedef void (HListElemFnc)(HListElem hListElem); /* Macros that should be inline functions */ #define CreateHList(initialSlopSlots) ((HListHdl)NewHandleClear((initialSlopSlots) * sizeof(HListElem))) #define HListExists(hListHdl) ((hListHdl) != nil) #define HListCount(hListHdl) (((u_size)(GetHandleSize(hListHdl)))/sizeof(HListElem)) /* Function headers */ OSErr AddToHList(HListHdl, HListElem); OSErr RemoveFromHList(HListHdl, HListElem); void DestroyHList(HListHdl); HListElem RecoverHListElem(HListHdl, Ptr); void ApplyToHListElems(HListHdl, HListElemFnc *); OSErr InHList(HListHdl, HListElem); HListElem GetFirstHListElem(HListHdl); #endif __HLIST__