home *** CD-ROM | disk | FTP | other *** search
- /* $Revision Header *** Header built automatically - do not edit! ***********
- *
- * (C) Copyright 1992 by Amit Fridman
- *
- * Name .....: Virtual.h
- * Created ..: Friday 13-Nov-92 15:21:07
- * Revision .: 1
- *
- * Date Author Comment
- * ========= ==================== ====================
- * 14-Nov-92 Amit Fridman Version 1.0 finished
- * 13-Nov-92 Amit Fridman Created this file!
- *
- * $Revision Header ********************************************************/
- #define REVISION 1
-
- #include <exec/types.h>
-
- struct SegEntry {
- struct SegEntry *NextP;
- char *Base;
- ULONG Size;
- ULONG FOffset;
- ULONG Access;
- SHORT Pri;
- UWORD Flags;
- };
-
- #define SF_PRESENT 1
- #define SF_DIRTY 2
- #define SF_USED 4
- #define SF_INFILE 8
-
- struct VirtMem {
- struct SegEntry *Segments;
- struct SegEntry *PSegments;
- ULONG VirtSize;
- ULONG PhysSize;
- SHORT SegNum;
- char *PhysMem;
- char FName[108];
- BPTR File;
- ULONG AccOffset;
- ULONG Count;
- UWORD Flags;
- };
-
- #define NORMALIZE(seg,offset) ((seg)->Base+(offset))
- #define OFFSET(seg,full) ((full)-(seg)->Base)
- #define DIRTY(seg) ((seg)->Flags|=SF_DIRTY)
- #define PRESENT(seg) ((seg)->Flags & SF_PRESENT)
-
- /* Virtual.c */
- short InitVirtualMem(struct VirtMem *vm, char const *FName, unsigned long VirtSize, unsigned long PhysSize, unsigned short SegNum);
- void FreeVirtMem(struct VirtMem *vm);
- struct SegEntry *CreateSegment(struct VirtMem *vm, unsigned long size, short pri);
- short Access(struct VirtMem *vm,struct SegEntry *seg);
-