home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / IncPOS.lzx / pUtil / Hash.h next >
Encoding:
C/C++ Source or Header  |  1997-03-18  |  1.6 KB  |  63 lines

  1. #ifndef __INC_POS_PUTIL_HASH_H
  2. #define __INC_POS_PUTIL_HASH_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>Hash.h<<   26 Oct 1996    11:08:51 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PEXEC_LIST_H
  12. #include <pExec/List.h>
  13. #endif
  14. #ifndef __INC_POS_PEXEC_MEMORY_H
  15. #include <pExec/Memory.h>
  16. #endif
  17.  
  18.  
  19.  
  20. /*----------------------------------
  21. -----------------------------------*/
  22. struct pOS_HashNode
  23. {
  24.         struct pOS_Node  hn_Node;
  25.   const VOID            *hn_ID;
  26.         UWORD            hn_OpenCnt;
  27. };
  28.  
  29.  
  30.  
  31. /*----------------------------------
  32. -----------------------------------*/
  33. struct pOS_HashStrNode
  34. {
  35.         struct pOS_Node  hsn_Node;
  36.   const CHAR            *hsn_ID;
  37.         UWORD            hsn_OpenCnt;
  38.         ULONG            hsn_UserData[2];
  39. };
  40.  
  41.  
  42.  
  43. /*----------------------------------
  44. -----------------------------------*/
  45. struct pOS_HashList
  46. {
  47.   struct pOS_MemPool  hl_MP;
  48.   UWORD               hl_LstNum; /* Anzahl der hl_List */
  49.  
  50.   struct pOS_HashNode* (*hl_Crt_func)(_R_A0 struct pOS_HashList*,_R_A1 const VOID* data);
  51.   VOID          (*hl_Del_func)(_R_A0 struct pOS_HashList*,_R_A1 struct pOS_HashNode*);
  52.   ULONG         (*hl_Hash_func)(_R_A0 const struct pOS_HashList*,_R_A1 const VOID*);
  53.   BOOL          (*hl_Cmp_func)(_R_A0 const struct pOS_HashList*,_R_A1 const VOID*,_R_A2 const struct pOS_HashNode*);
  54.  
  55.   UBYTE               hl_Reserved[64];
  56.   struct pOS_List     hl_List[1];
  57. };
  58.  
  59.  
  60.  
  61.  
  62. #endif
  63.