}
return ++VECTOR_PART_BYTE(index,part).msb;
}
+#elif VECTOR_LEVEL_BITS == 8
+
+#define VECTOR_LEVEL_MASK ( VECTOR_SLOTS - 1 )
+
+typedef union {
+ vector_index as_whole;
+ unsigned char as_byte[8];
+} vector_indexing;
+
+#define VECTOR_INDEX_PART(i,p) (((vector_indexing*)(i))->as_byte[p])
+
+#define VECTOR_INDEX_PART_INC(i,p) (++VECTOR_INDEX_PART(i,p))
+
#endif
/**
* of index pages. The indexing is done using "unsigned long" indexes.
*/
+#ifndef VECTOR_LEVEL_BITS
/*!
* Macro: VECTOR_LEVEL_BITS
* This defines the number of bits in the indexing bit field.
*/
-#define VECTOR_LEVEL_BITS 4
+#define VECTOR_LEVEL_BITS 8
+#endif
/*!
* Type: vector_index