summaryrefslogtreecommitdiff
path: root/Database/database-types.h
diff options
context:
space:
mode:
authorNicolas "Pixel" Noble <pixel@nobis-crew.org>2009-09-21 07:55:26 +0200
committerNicolas "Pixel" Noble <pixel@nobis-crew.org>2009-09-21 07:55:26 +0200
commit48df755c00a19a71e5583480b15091dc5c1e8df1 (patch)
tree3a5462a495525a0e2c3ddc2d09396f00c5797c3f /Database/database-types.h
parent14d90c9e1171655b864316c9c4aa34033fdd3a45 (diff)
Adding a few accessors, and adding crawled bit, in order to be able to crawl several times in a row.
Diffstat (limited to 'Database/database-types.h')
-rw-r--r--Database/database-types.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/Database/database-types.h b/Database/database-types.h
index 8ea61e6..796a16c 100644
--- a/Database/database-types.h
+++ b/Database/database-types.h
@@ -19,12 +19,13 @@ enum basic_tags_t {
* A non-hollow database will be as big (at least) as the input file: in-memory-RLE is probably a good idea.
*/
struct memory_tags_t {
- unsigned short basic_tags: 2;
- /** -1..30, 30 being "user hinted", 29 being "external reference" (entry point, exported symbol, ...)
+ unsigned short basic_tag: 2;
+ unsigned short crawled: 1;
+ /** -1..15, 15 being "user hinted", 14 being "external reference" (entry point, exported symbol, ...)
* and -1 means something's fishy with that tag, and that it is probably completely wrong.
* Certitude will grow down with distance from a certain piece of info when the crawler goes away jumping around.
*/
- unsigned short certitude: 6;
+ unsigned short certitude: 5;
};
/** An absolute pointer can reference a segment from its ID, and a pointer within the segment.
@@ -41,6 +42,7 @@ typedef union {
static inline Uint32 SEGID(absolute_ptr ptr) { return ptr.segment_id; }
static inline Uint32 SEGOFFSET(absolute_ptr ptr) { return ptr.ptr; }
static inline absolute_ptr ABSPTR(Uint32 id, Uint32 ptr) { absolute_ptr r; r.segment_id = id; r.ptr = ptr; return r; }
+static const absolute_ptr ABSNUL = { 0 };
/** A function description.
*/