#ifndef __INC_POS_PLIB_SPUTIL_H
#define __INC_POS_PLIB_SPUTIL_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Burkarth
 $DAT >>SpUtil.h<<   26 Jan 1997    19:03:53 - (C) ProDAD
*******************************************************************/
#include <pExec/Library.h>

extern struct pOS_UtilityBase *gb_UtilityBase;


struct pOS_PrefsHandler;

/*----------------------------------
-----------------------------------*/
struct pOS_UtilLibFunction
{

  VOID (*pOS_DeletePrefsHandler_func)(_R_LB pOS_UtilityBase*,_R_A0 __ARID__ pOS_PrefsHandler*);
  UBYTE _d25[8];
  __ARID__ pOS_PrefsHandler* (*pOS_CreatePrefsHandlerA_func)(_R_LB pOS_UtilityBase*,_R_A0 const pOS_TagItem*);
  UBYTE _d24[8];
  VOID (*pOS_AddPrefsHandler_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_PrefsHandler*);
  UBYTE _d23[8];
  VOID (*pOS_RemPrefsHandler_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_PrefsHandler*);
  UBYTE _d22[8];
  VOID (*pOS_TouchPrefsHandler_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_PrefsHandler*);
  UBYTE _d21[8];
  VOID (*pOS_RunPrefsHandler_func)(_R_LB pOS_UtilityBase*);
  UBYTE _d20[8];

/** 20 **/
  VOID (*pOS_ConstructHash_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_HashList*,_R_D0 ULONG num);
  UBYTE _d19[8];
  VOID (*pOS_DestructHash_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_HashList*);
  UBYTE _d18[8];
  __ARID__ pOS_HashList* (*pOS_CreateHash_func)(_R_LB pOS_UtilityBase*,_R_D0 ULONG num);
  UBYTE _d17[8];
  VOID (*pOS_DeleteHash_func)(_R_LB pOS_UtilityBase*,_R_A0 __ARID__ pOS_HashList*);
  UBYTE _d16[8];
  __ARID__ pOS_HashNode* (*pOS_CreateHashNode_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_HashList*,_R_A1 const VOID* data);
  UBYTE _d15[8];
  VOID (*pOS_DeleteHashNode_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_HashList*,_R_A1 __ARID__ pOS_HashNode*);
  UBYTE _d14[8];
  VOID (*pOS_AddHashNode_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_HashList*,_R_A1 pOS_HashNode*);
  UBYTE _d13[8];
  VOID (*pOS_RemHashNode_func)(_R_LB pOS_UtilityBase*,_R_A0 pOS_HashList*,_R_A1 pOS_HashNode*);
  UBYTE _d12[8];
  pOS_HashNode* (*pOS_MatchHash_func)(_R_LB pOS_UtilityBase*,_R_A0 const pOS_HashList*,_R_A1 const VOID *data);
  UBYTE _d11[8];
  ULONG (*pOS_CountTags_func)(_R_LB pOS_UtilityBase*,_R_A0 const pOS_TagItem*);
  UBYTE _d10[8];

/** 10 **/
  pOS_TagItem* (*pOS_CopyTags_func)(_R_LB pOS_UtilityBase*,_R_A0 const pOS_TagItem* srcTagList,
                          _R_A1 pOS_TagItem* dstTagList,_R_D0 ULONG count);
  UBYTE _d9[8];
  CHAR  (*pOS_ToLower_func)(_R_LB pOS_UtilityBase*,_R_D0 CHAR);
  UBYTE _d8[8];
  CHAR  (*pOS_ToUpper_func)(_R_LB pOS_UtilityBase*,_R_D0 CHAR);
  UBYTE _d7[8];
  SLONG (*pOS_Stricmp_func)(_R_LB pOS_UtilityBase*,_R_A0 const CHAR*,_R_A1 const CHAR*);
  UBYTE _d6[8];
  SLONG (*pOS_Strnicmp_func)(_R_LB pOS_UtilityBase*,_R_A0 const CHAR*,_R_A1 const CHAR*,_R_D0 ULONG);
  UBYTE _d5[8];
  CHAR* (*pOS_SearchSxTxtA_func)(_R_LB pOS_UtilityBase*,_R_A0 const dosname_t*,
                                 _R_A1 CHAR*,_R_D0 size_t,_R_A2 const pOS_TagItem*);
  UBYTE _d4[8];
  pOS_TagItem* (*pOS_NextTagItem_func)(_R_LB pOS_UtilityBase*,_R_A0 const pOS_TagItem**);
  UBYTE _d3[8];
  pOS_TagItem* (*pOS_FindTagItem_func)(_R_LB pOS_UtilityBase*,_R_D0 ULONG,_R_A0 const pOS_TagItem*);
  UBYTE _d2[8];
  ULONG (*pOS_FindTagData_func)(_R_LB pOS_UtilityBase*,_R_D0 ULONG,_R_A0 const pOS_TagItem*,_R_D1 ULONG);
  UBYTE _d1[8];
  VOID  (*pOS_MapTagItems_func)(_R_LB pOS_UtilityBase*,_R_A0 const pOS_TagItem*,_R_A1 pOS_TagItem*);
  UBYTE _d0[8];

  pOS_StdLibraryFunction StdLib;
}; /* => Base */


#endif
