Fixed binary search: no more infinite loops when vendor is unknown.
[tangerine.git] / compiler / include / clib / arossupport_protos.h
blobf04a5741460857c98ed49664e73c4f5f4b63355c
1 #ifndef CLIB_AROSSUPPORT_PROTOS_H
2 #define CLIB_AROSSUPPORT_PROTOS_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Prototypes for aros.lib
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 # include <exec/types.h>
14 #endif
15 #ifndef AROS_AROSSUPPORTBASE_H
16 # include <aros/arossupportbase.h>
17 #endif
18 #ifndef EXEC_EXECBASE_H
19 # include <exec/execbase.h>
20 #endif
21 #ifndef DOS_DOS_H
22 # include <dos/dos.h>
23 #endif
24 #ifndef UTILITY_HOOKS_H
25 # include <utility/hooks.h>
26 #endif
28 #ifndef PROTO_EXEC_H
29 # include <proto/exec.h>
30 #endif
32 #ifdef DEBUG_FreeMem
33 # if DEBUG_FreeMem
34 # undef FreeMem
35 # define FreeMem NastyFreeMem
36 # endif
37 #endif
39 /* for va_list in kprintf() proto */
40 #include <stdarg.h>
43 Prototypes
45 ULONG CalcChecksum (APTR mem, ULONG size);
46 int kprintf (const UBYTE * fmt, ...);
47 int vkprintf (const UBYTE * fmt, va_list ap);
48 int rkprintf (const STRPTR, const STRPTR, int, const UBYTE * fmt, ...);
49 void NastyFreeMem (APTR mem, ULONG size);
50 APTR RemoveSList (APTR * list, APTR node);
51 void hexdump (const void * data, IPTR offset, ULONG count);
52 int strrncasecmp (const char *, const char *, int);
53 void RawPutChars (const UBYTE * string, int len);
54 BOOL IsDosEntryA (char *Name, ULONG Flags);
56 /* AROS enhancements */
57 BOOL ReadByte (struct Hook *, UBYTE * dataptr, void * stream);
58 BOOL ReadWord (struct Hook *, UWORD * dataptr, void * stream);
59 BOOL ReadLong (struct Hook *, ULONG * dataptr, void * stream);
60 BOOL ReadFloat (struct Hook *, FLOAT * dataptr, void * stream);
61 BOOL ReadDouble (struct Hook *, DOUBLE * dataptr, void * stream);
62 BOOL ReadString (struct Hook *, STRPTR * dataptr, void * stream);
63 BOOL ReadStruct (struct Hook *, APTR * dataptr, void * stream, const IPTR * desc);
64 BOOL WriteByte (struct Hook *, UBYTE data, void * stream);
65 BOOL WriteWord (struct Hook *, UWORD data, void * stream);
66 BOOL WriteLong (struct Hook *, ULONG data, void * stream);
67 BOOL WriteFloat (struct Hook *, FLOAT data, void * stream);
68 BOOL WriteDouble (struct Hook *, DOUBLE data, void * stream);
69 BOOL WriteString (struct Hook *, STRPTR data, void * stream);
70 BOOL WriteStruct (struct Hook *, APTR data, void * stream, const IPTR * desc);
71 void FreeStruct (APTR s, const IPTR * desc);
74 /* don't use SysBase->kprintf on AmigaOS */
75 #ifndef __amigaos__
76 # define kprintf (((struct AROSSupportBase *)(SysBase->DebugAROSBase))->kprintf)
77 # define rkprintf (((struct AROSSupportBase *)(SysBase->DebugAROSBase))->rkprintf)
78 # define vkprintf (((struct AROSSupportBase *)(SysBase->DebugAROSBase))->vkprintf)
79 #endif
81 #endif /* CLIB_AROSSUPPORT_PROTOS_H */