home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
gnu
/
os-include
/
clib
/
utility_protos.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-15
|
4KB
|
121 lines
#ifndef CLIB_UTILITY_PROTOS_H
#define CLIB_UTILITY_PROTOS_H
/*
** $VER: utility_protos.h 39.12 (10.2.93)
** Includes Release 40.15
**
** C prototypes. For use with 32 bit integers only.
**
** (C) Copyright 1990-1993 Commodore-Amiga, Inc.
** All Rights Reserved
*/
#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
/*--- functions in V36 or higher (Release 2.0) ---*/
/* Tag item functions */
struct TagItem *FindTagItem( Tag tagVal, struct TagItem *tagList );
ULONG GetTagData( Tag tagValue, unsigned long defaultVal,
struct TagItem *tagList );
ULONG PackBoolTags( unsigned long initialFlags, struct TagItem *tagList,
struct TagItem *boolMap );
struct TagItem *NextTagItem( struct TagItem **tagListPtr );
void FilterTagChanges( struct TagItem *changeList,
struct TagItem *originalList, unsigned long apply );
void MapTags( struct TagItem *tagList, struct TagItem *mapList,
unsigned long mapType );
struct TagItem *AllocateTagItems( unsigned long numTags );
struct TagItem *CloneTagItems( struct TagItem *tagList );
void FreeTagItems( struct TagItem *tagList );
void RefreshTagItemClones( struct TagItem *clone, struct TagItem *original );
BOOL TagInArray( Tag tagValue, Tag *tagArray );
ULONG FilterTagItems( struct TagItem *tagList, Tag *filterArray,
unsigned long logic );
/* Hook functions */
ULONG CallHookPkt( struct Hook *hook, APTR object, APTR paramPacket );
/* Date functions */
void Amiga2Date( unsigned long seconds, struct ClockData *result );
ULONG Date2Amiga( struct ClockData *date );
ULONG CheckDate( struct ClockData *date );
/* 32 bit integer muliply functions */
LONG SMult32( long arg1, long arg2 );
ULONG UMult32( unsigned long arg1, unsigned long arg2 );
/* 32 bit integer division funtions. The quotient and the remainder are */
/* returned respectively in d0 and d1 */
LONG SDivMod32( long dividend, long divisor );
ULONG UDivMod32( unsigned long dividend, unsigned long divisor );
/*--- functions in V37 or higher (Release 2.04) ---*/
/* International string routines */
LONG Stricmp( STRPTR string1, STRPTR string2 );
LONG Strnicmp( STRPTR string1, STRPTR string2, long length );
UBYTE ToUpper( unsigned long character );
UBYTE ToLower( unsigned long character );
/*--- functions in V39 or higher (Release 3) ---*/
/* More tag Item functions */
void ApplyTagChanges( struct TagItem *list, struct TagItem *changeList );
/* 64 bit integer muliply functions. The results are 64 bit quantities */
/* returned in D0 and D1 */
LONG SMult64( long arg1, long arg2 );
ULONG UMult64( unsigned long arg1, unsigned long arg2 );
/* Structure to Tag and Tag to Structure support routines */
ULONG PackStructureTags( APTR pack, ULONG *packTable,
struct TagItem *tagList );
ULONG UnpackStructureTags( APTR pack, ULONG *packTable,
struct TagItem *tagList );
/* New, object-oriented NameSpaces */
BOOL AddNamedObject( struct NamedObject *nameSpace,
struct NamedObject *object );
struct NamedObject *AllocNamedObjectA( STRPTR name, struct TagItem *tagList );
struct NamedObject *AllocNamedObject( STRPTR name, Tag tag1, ... );
LONG AttemptRemNamedObject( struct NamedObject *object );
struct NamedObject *FindNamedObject( struct NamedObject *nameSpace,
STRPTR name, struct NamedObject *lastObject );
void FreeNamedObject( struct NamedObject *object );
STRPTR NamedObjectName( struct NamedObject *object );
void ReleaseNamedObject( struct NamedObject *object );
void RemNamedObject( struct NamedObject *object, struct Message *message );
/* Unique ID generator */
ULONG GetUniqueID( void );
#endif /* CLIB_UTILITY_PROTOS_H */