1.1 --- a/region.h Mon Mar 29 00:04:07 2021 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,59 +0,0 @@
1.4 -#pragma once
1.5 -
1.6 -#include <systypes/base.h>
1.7 -
1.8 -#include "types.h"
1.9 -
1.10 -
1.11 -
1.12 -/* Region-related state information. */
1.13 -
1.14 -class RegionState
1.15 -{
1.16 -public:
1.17 - unsigned long size;
1.18 - fileid_t fileid;
1.19 - offset_t filepos;
1.20 -
1.21 - explicit RegionState(unsigned long size=0, fileid_t fileid=0, offset_t filepos=0);
1.22 -
1.23 - void fill(fileid_t fileid, offset_t filepos);
1.24 -
1.25 - bool valid() { return size != 0; }
1.26 -};
1.27 -
1.28 -
1.29 -
1.30 -/* A memory region abstraction. */
1.31 -
1.32 -class Region
1.33 -{
1.34 -public:
1.35 - offset_t start, end;
1.36 -
1.37 - /* Debugging information. */
1.38 -
1.39 - RegionState state;
1.40 -
1.41 - /* Methods. */
1.42 -
1.43 - explicit Region(offset_t start, offset_t end);
1.44 -
1.45 - virtual ~Region();
1.46 -
1.47 - offset_t size();
1.48 -
1.49 - int compare(Region *other);
1.50 -
1.51 - void fill(fileid_t fileid, offset_t filepos);
1.52 -
1.53 - void flush();
1.54 -
1.55 - /* Simulation methods. */
1.56 -
1.57 - char *read(offset_t offset=0);
1.58 -
1.59 - void write(const char *data, offset_t offset=0);
1.60 -};
1.61 -
1.62 -// vim: tabstop=4 expandtab shiftwidth=4