]> mj.ucw.cz Git - libucw.git/blobdiff - lib/index.h
Introduced obuck_get_pos(), converted gatherd limits to use it.
[libucw.git] / lib / index.h
index 70a8186d7e2eaf6078811ba45cd4ff4264acba34..d484ee8ee8e177b3d008ff47cad5f56ae5f7f1e4 100644 (file)
@@ -25,6 +25,19 @@ enum word_type {
   WT_ALT                               /* Alternate texts for graphical elements */
 };
 
+#define WORD_TYPE_NAMES                                \
+       T(WORD, ~0)                             \
+       T(TEXT, 1 << WT_TEXT)                   \
+       T(EMPH, 1 << WT_EMPH)                   \
+       T(SMALL, 1 << WT_SMALL)                 \
+       T(TITLE, 1 << WT_TITLE)                 \
+       T(HDR, (1 << WT_SMALL_HEADING) | (1 << WT_BIG_HEADING))  \
+       T(HDR1, 1 << WT_SMALL_HEADING)          \
+       T(HDR2, 1 << WT_BIG_HEADING)            \
+       T(KEYWD, 1 << WT_KEYWORD)               \
+       T(META, 1 << WT_META)                   \
+       T(ALT, 1 << WT_ALT)
+
 /* String types */
 
 enum string_type {
@@ -36,6 +49,16 @@ enum string_type {
   ST_BACKREF,                          /* Back-reference (frame or redirect source) */
 };
 
+#define STRING_TYPE_NAMES                      \
+       T(URL, 1 << ST_URL)                     \
+       T(HOST, 1 << ST_HOST)                   \
+       T(DOMAIN, 1 << ST_DOMAIN)               \
+       T(REF, 1 << ST_REF)                     \
+       T(BACKREF, 1 << ST_BACKREF)
+
+#define STRING_TYPES_URL ((1 << ST_URL) | (1 << ST_REF) | (1 << ST_BACKREF))
+#define STRING_TYPES_CASE_INSENSITIVE ((1 << ST_HOST) | (1 << ST_DOMAIN))
+
 /* Index card attributes */
 
 struct card_attr {
@@ -63,6 +86,12 @@ struct fingerprint {
 
 void fingerprint(byte *string, struct fingerprint *fp);
 
+static inline u32
+fp_hash(struct fingerprint *fp)
+{
+  return (fp->hash[0] << 24) | (fp->hash[1] << 16) | (fp->hash[2] << 8) | fp->hash[3];
+}
+
 /* Reading of tagged text (Unicode values, tags mapped to 0x80000000 and higher) */
 
 #define GET_TAGGED_CHAR(p,u) do {                              \