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

 $AUT Holger Burkarth
 $DAT >>utility_protos.c<<   26 Nov 1996    14:16:12 - (C) ProDAD
*******************************************************************/
#define NOMYDEBUG
#pragma -

#ifndef  EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef  EXEC_PORTS_H
#include <exec/ports.h>
#endif
#ifndef  UTILITY_TAGITEM_H
#include <utility/tagitem.h>
#endif
#ifndef  UTILITY_DATE_H
/*#include <utility/date.h> */
#endif
#ifndef  UTILITY_HOOKS_H
#include <utility/hooks.h>
#endif
#ifndef  UTILITY_NAME_H
/*#include <utility/name.h> */
#endif

#include "p:pProto/pUtil2.h"


struct TagItem *FindTagItem( Tag tagVal, struct TagItem *tagList )
  { return((struct TagItem*)pOS_FindTagItem(tagVal,(struct pOS_TagItem*)tagList) );}

ULONG GetTagData( Tag tagValue, unsigned long defaultVal,
        struct TagItem *tagList )
  { return(pOS_FindTagData(tagValue,(struct pOS_TagItem*)tagList,defaultVal));}

ULONG PackBoolTags( unsigned long initialFlags, struct TagItem *tagList,
        struct TagItem *boolMap );

struct TagItem *NextTagItem( struct TagItem **tagListPtr )
  {
    APTR Temp=(APTR)tagListPtr;
    return((struct TagItem*)pOS_NextTagItem(Temp) );
  }

LONG SMult32( SLONG arg1, SLONG arg2 )
  {return(arg1*arg2);}
ULONG UMult32( ULONG arg1, ULONG arg2 )
  {return(arg1*arg2);}

LONG SDivMod32( SLONG dividend, SLONG divisor )
 {return(dividend/divisor);}

ULONG UDivMod32( ULONG dividend, ULONG divisor )
 {return(dividend/divisor);}

LONG Stricmp( STRPTR string1, STRPTR string2 )
  { return(pOS_Stricmp(string1,string2));}

LONG Strnicmp( STRPTR string1, STRPTR string2, long length )
  { return(pOS_Strnicmp(string1,string2,length));}

UBYTE ToUpper( unsigned long character )
  { return(pOS_ToUpper(character));}

UBYTE ToLower( unsigned long character )
  { return(pOS_ToLower(character));}














#ifdef __IGNORE_NOT_SUPPORTED__

void FilterTagChanges(struct TagItem*,struct TagItem*,ULONG)
{}
void MapTags(struct TagItem*,struct TagItem*,ULONG)
{}
struct TagItem *AllocateTagItems( unsigned long numTags )
{return(0);}
struct TagItem *CloneTagItems( struct TagItem *tagList )
{return(0);}
void FreeTagItems( struct TagItem *tagList )
{}
void RefreshTagItemClones( struct TagItem *clone, struct TagItem *original )
{}
BOOL TagInArray( Tag tagValue, Tag *tagArray )
{return(0);}
ULONG FilterTagItems(struct TagItem*,ULONG*,ULONG)
{return(0);}
ULONG CallHookPkt( struct Hook *hook, APTR object, APTR paramPacket )
{return(0);}
void Amiga2Date( unsigned long seconds, struct ClockData *result )
{}
ULONG Date2Amiga( struct ClockData *date )
{return(0);}
ULONG CheckDate( struct ClockData *date )
{return(0);}
void ApplyTagChanges( struct TagItem *list, struct TagItem *changeList )
{}
LONG SMult64( long arg1, long arg2 )
{return(0);}
ULONG UMult64( unsigned long arg1, unsigned long arg2 )
{return(0);}
ULONG PackStructureTags( APTR pack, ULONG *packTable,struct TagItem *tagList )
{return(0);}
ULONG UnpackStructureTags( APTR pack, ULONG *packTable,struct TagItem *tagList )
{return(0);}
BOOL AddNamedObject( struct NamedObject *nameSpace,struct NamedObject *object )
{return(0);}
struct NamedObject *AllocNamedObjectA( STRPTR name, struct TagItem *tagList )
{return(0);}
struct NamedObject *AllocNamedObject( STRPTR name, Tag tag1, ... )
{return(0);}
LONG AttemptRemNamedObject( struct NamedObject *object )
{return(0);}
struct NamedObject *FindNamedObject(struct NamedObject*,STRPTR,struct NamedObject*)
{return(0);}
void FreeNamedObject( struct NamedObject *object )
{}
STRPTR NamedObjectName( struct NamedObject *object )
{return(0);}
void ReleaseNamedObject( struct NamedObject *object )
{}
void RemNamedObject( struct NamedObject *object, struct Message *message )
{}
ULONG GetUniqueID( void )
{return(0);}

#endif  /** __IGNORE_NOT_SUPPORTED__ **/


#endif   /* CLIB_UTILITY_PROTOS_H */
