#ifndef PAGER_H
#define PAGER_H

#include <exec/types.h>
#include <exec/lists.h>
#include <exec/nodes.h>
#include <exec/memory.h>
#include <exec/ports.h>
#include <exec/tasks.h>
#include <exec/alerts.h>
#include <exec/libraries.h>
#include <exec/semaphores.h>
#include <exec/execbase.h>
#include <devices/timer.h>
#include <devices/serial.h>
#include <dos/dos.h>
#include <dos/dosextens.h>
#include <dos/dostags.h>
#include <dos/datetime.h>
#include <dos/exall.h>
#include <dos/rdargs.h>
#include <utility/tagitem.h>
#include <workbench/startup.h>
#include <workbench/workbench.h>

#include <clib/exec_protos.h>
extern struct ExecBase *SysBase;

#include <pragmas/exec_libcall_lib.h>

#include <clib/dos_protos.h>
extern struct DosLibrary *DOSBase;

#include <pragmas/dos_lib.h>
#pragma tagcall DOSBase FPrintf 162 32103

#include <clib/utility_protos.h>
extern struct Library *UtilityBase;

#include <pragmas/utility_lib.h>

#include <libraries/OwnDevUnit.h>

#define USE_BUILTIN_MATH TRUE
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
#include <stdarg.h>
#include <ctype.h>
#include <math.h>
#include <clib/alib_protos.h>

LONG __stdargs kprintf(STRPTR fmt,...);

#include "/include/pager_lib.h"
#include "/include/clib/pager-support_protos.h"
extern struct Library *PagerSupportBase;
#include "/include/pragmas/pager-support_lib.h"
extern APTR ph;

#define CreatePool LibCreatePool
#define DeletePool LibDeletePool
#define AllocPooled LibAllocPooled
#define FreePooled LibFreePooled

#define SPOOLMAGIC "IXOSPOOL"

enum SpoolMarkers {
	PAGE_START = 1,
	PAGE_END,
	BLOCK_START,
	BLOCK_END,
	END_OF_SPOOL
};

/* extern references to our version and revision numbers */

extern ULONG __far Version;
extern ULONG __far Revision;
extern UBYTE __far VersionID[];

#endif /* PAGER_H */
