summaryrefslogtreecommitdiffstats
path: root/src/defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/defs.h')
-rw-r--r--src/defs.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/defs.h b/src/defs.h
index 0d543d7..2c0d81c 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -41,12 +41,40 @@
# else
typedef uint32_t field;
# endif
-#else
+#elif entry_field_size == 64
# ifdef entry_field_signed
typedef int64_t field;
# else
typedef uint64_t field;
# endif
+#elif entry_field_size == 128
+# ifdef entry_field_signed
+ typedef struct field {
+ uint64_t low;
+ int64_t high;
+ } field;
+# else
+ typedef struct field {
+ uint64_t low;
+ uint64_t high;
+ } field;
+# endif
+#elif entry_field_size == 256
+# ifdef entry_field_signed
+ typedef struct field {
+ uint64_t low;
+ uint64_t midlow;
+ uint64_t midhigh;
+ int64_t high;
+ } field;
+# else
+ typedef struct field {
+ uint64_t low;
+ uint64_t midlow;
+ uint64_t midhigh;
+ uint64_t high;
+ } field;
+# endif
#endif
union nextoff {