/* ___________________________________________________________________________
** |*************************************************************************|
** |*|ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ|*|ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ|*|
** |*| Set TAB to 4 for best readable file layout.  |*|  C++ MaxonDev 4.0  |*|
** |*|______________________________________________|*|____________________|*|
** |*************************************************************************|
** |*|ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ|*|ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ|*|
** |*|               |*|  $Id: extra_protos.h (19.03.01)                   |*|
** |*| ###### ###### |*|  RhoSigma Source based on NDK 3.1 Includes 40.15  |*|
** |*| ##  ## ##   # |*| _________________________________________________ |*|
** |*| ##  ##  ##    |*|                                                   |*|
** |*| ######   ##   |*|  C/C++ prototypes of extra.library's functions    |*|
** |*| ##      ##    |*|                                                   |*|
** |*| ##     ##   # |*| ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ |*|
** |*| ##     ###### |*|  Copyright İ 1998-2001 RhoSigma, Roland Heyder    |*|
** |*|               |*|  All Rights Reserved.                             |*|
** |*|_______________|*|___________________________________________________|*|
** |*************************************************************************|
** ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
*/

#ifndef CLIB_EXTRA_PROTOS_H
#define CLIB_EXTRA_PROTOS_H

#ifndef  EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

/* ----------------------- TRACKDISK/RAMDRIVE - Erweiterungen --- */
BOOL BAMCheckSum(APTR Block);
BOOL BootBlockSum(APTR Block);
BOOL DiskBlockSum(APTR Block);
/* -------------------------------------- DOS - Erweiterungen --- */
/* ------- Funktionen zum DBS (Dynamic-Buffer-System) -------- */
APTR OpenBuf(VOID);
BOOL CloseBuf(APTR BufHandle);
APTR FileToBuf(STRPTR FileName);
LONG BufToFile(APTR BufHandle,STRPTR FileName);
BOOL ClearBuf(APTR BufHandle);
APTR DuplicateBuf(APTR BufHandle);
struct BIBStruct *BufInfo(APTR BufHandle);
LONG SeekBuf(APTR BufHandle,LONG Position,ULONG Mode);
LONG Store(APTR BufHandle,APTR Data,ULONG Size);
LONG InsertBuf(APTR BufHandle1,APTR BufHandle2);
LONG InsertFile(APTR BufHandle,STRPTR FileName);
LONG Replace(APTR BufHandle,APTR Data,ULONG Size,ULONG OldSize);
APTR Get(APTR BufHandle);
BOOL Clear(APTR BufHandle,ULONG Size);
BOOL FindData(APTR BufHandle,ULONG Key,APTR Data,ULONG Size);
BOOL FindNext(APTR BufHandle,ULONG Key);
BOOL FindPrev(APTR BufHandle,ULONG Key);
BOOL FreeFinds(APTR BufHandle);
BOOL SetBookmark(APTR BufHandle,ULONG Key);
BOOL GotoBookmark(APTR BufHandle,ULONG Key);
/* ----------------------------------------------------------- */
LONG FindString(STRPTR Source,ULONG SourceLen,STRPTR Find,ULONG FindLen);
LONG GetLength(STRPTR Start,UBYTE EndByte,ULONG MaxBytes);
ULONG LastError(VOID);
STRPTR LongToString(LONG Value,BOOL Flag);
LONG StringToLong(STRPTR DezString,ULONG Len);
LONG PackByteRun1(APTR InBuf,ULONG InLen,APTR OutBuf,ULONG OutLen);
ULONG UnpackByteRun1(struct UnpackParam *InParam,APTR OutBuf,ULONG OutLen);
BOOL PrintIoError(ULONG DOSErrNum);
VOID FlipCase(STRPTR String,ULONG Len,BOOL Flag);
/* ------------------------------------- EXEC - Erweiterungen --- */
ULONG CmpMem(APTR BlockA,APTR BlockB,ULONG Size);
VOID CopyMemI(APTR Source,APTR Dest,ULONG Size);
BOOL FillMem(APTR Start,ULONG Size,ULONG Value);
APTR GetMem(ULONG Size,ULONG Requirements);
VOID UnGetMem(APTR Block);
/* --------------------------------- GRAPHICS - Erweiterungen --- */
VOID OutlineOff(struct RastPort *RP);
VOID OutlineOn(struct RastPort *RP);
VOID SetOPen(struct RastPort *RP,UBYTE Pen);
BOOL SpecText(struct RastPort *RP,STRPTR String,ULONG xPos,ULONG yPos);
VOID SpecTextPrefs(UBYTE MPen,UBYTE TLPen,UBYTE BRPen,UBYTE Style,UBYTE Mask,UWORD Flags);
/* -------------------------------- INTUITION - Erweiterungen --- */
BOOL ShowMsg(STRPTR Param,LONG Type,ULONG Height,APTR ColorTab);

/* --- neu ab v2.062 -------------------------------------------- */

/* ------- Funktionen zum DBS (Dynamic-Buffer-System) -------- */
APTR v2_OpenBuf(ULONG MemType);
APTR v2_FileToBuf(STRPTR FileName,ULONG MemType);
APTR v2_DuplicateBuf(APTR BufHandle,ULONG MemType);

#ifdef __cplusplus
}
#endif

#endif	/* CLIB_EXTRA_PROTOS_H */

