From 48df755c00a19a71e5583480b15091dc5c1e8df1 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Mon, 21 Sep 2009 07:55:26 +0200 Subject: Adding a few accessors, and adding crawled bit, in order to be able to crawl several times in a row. --- Database/database-types.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Database/database-types.h') 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. */ -- cgit v1.2.3