1 #ifndef CLIB_UTILITY_PROTOS_H 2 #define CLIB_UTILITY_PROTOS_H 3 4 /* 5 utility.library C prototypes 6 7 Copyright © 2002 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_TYPES_H 11 # include <exec/types.h> 12 #endif 13 14 #ifndef EXEC_PORTS_H 15 # include <exec/ports.h> 16 #endif 17 18 #ifndef UTILITY_TAGITEM_H 19 # include <utility/tagitem.h> 20 #endif 21 22 #ifndef UTILITY_DATE_H 23 # include <utility/date.h> 24 #endif 25 26 #ifndef UTILITY_HOOKS_H 27 # include <utility/hooks.h> 28 #endif 29 30 #ifndef UTILITY_NAME_H 31 # include <utility/name.h> 32 #endif 33 34 35 #ifdef __cplusplus 36 extern "C" { 37 #endif /* __cplusplus */ 38 39 struct TagItem *FindTagItem( Tag tagVal, CONST struct TagItem *tagList ); 40 ULONG GetTagData( Tag tagValue, ULONG defaultVal, CONST struct TagItem *tagList ); 41 ULONG PackBoolTags( ULONG initialFlags, CONST struct TagItem *tagList, CONST struct TagItem *boolMap ); 42 struct TagItem *NextTagItem( struct TagItem **tagListPtr ); 43 VOID FilterTagChanges( struct TagItem *changeList, struct TagItem *originalList, ULONG apply ); 44 VOID MapTags( struct TagItem *tagList, CONST struct TagItem *mapList, ULONG mapType ); 45 struct TagItem *AllocateTagItems( ULONG numTags ); 46 struct TagItem *CloneTagItems( CONST struct TagItem *tagList ); 47 VOID FreeTagItems( struct TagItem *tagList ); 48 VOID RefreshTagItemClones( struct TagItem *clone, CONST struct TagItem *original ); 49 BOOL TagInArray( Tag tagValue, CONST Tag *tagArray ); 50 ULONG FilterTagItems( struct TagItem *tagList, CONST Tag *filterArray, ULONG logic ); 51 52 ULONG CallHookPkt( struct Hook *hook, APTR object, APTR paramPacket ); 53 54 VOID Amiga2Date( ULONG seconds, struct ClockData *result ); 55 ULONG Date2Amiga( CONST struct ClockData *date ); 56 ULONG CheckDate( CONST struct ClockData *date ); 57 58 LONG SMult32( LONG arg1, LONG arg2 ); 59 ULONG UMult32( ULONG arg1, ULONG arg2 ); 60 61 LONG SDivMod32( LONG dividend, LONG divisor ); 62 ULONG UDivMod32( ULONG dividend, ULONG divisor ); 63 64 LONG Stricmp( CONST_STRPTR string1, CONST_STRPTR string2 ); 65 LONG Strnicmp( CONST_STRPTR string1, CONST_STRPTR string2, LONG length ); 66 UBYTE ToUpper( ULONG character ); 67 UBYTE ToLower( ULONG character ); 68 69 VOID ApplyTagChanges( struct TagItem *list, CONST struct TagItem *changeList ); 70 71 LONG SMult64( LONG arg1, LONG arg2 ); 72 ULONG UMult64( ULONG arg1, ULONG arg2 ); 73 74 ULONG PackStructureTags( APTR pack, CONST ULONG *packTable, CONST struct TagItem *tagList ); 75 ULONG UnpackStructureTags( CONST APTR pack, CONST ULONG *packTable, struct TagItem *tagList ); 76 77 BOOL AddNamedObject( struct NamedObject *nameSpace, struct NamedObject *object ); 78 struct NamedObject *AllocNamedObjectA( CONST_STRPTR name, CONST struct TagItem *tagList ); 79 #if !defined(USE_INLINE_STDARG) 80 struct NamedObject *AllocNamedObject( CONST_STRPTR name, Tag tag1, ... ); 81 #endif 82 LONG AttemptRemNamedObject( struct NamedObject *object ); 83 struct NamedObject *FindNamedObject( struct NamedObject *nameSpace, CONST_STRPTR name, struct NamedObject *lastObject ); 84 VOID FreeNamedObject( struct NamedObject *object ); 85 STRPTR NamedObjectName( struct NamedObject *object ); 86 VOID ReleaseNamedObject( struct NamedObject *object ); 87 VOID RemNamedObject( struct NamedObject *object, struct Message *message ); 88 89 ULONG GetUniqueID( VOID ); 90 91 #ifdef __cplusplus 92 } 93 #endif /* __cplusplus */ 94 95 96 #endif /* CLIB_UTILITY_PROTOS_H */