summaryrefslogtreecommitdiffstats
path: root/ffi.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-06-04 18:44:38 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-06-04 18:44:38 -0700
commitedbf1a07fcbc1631e040fbaca6e0ab4cd460259a (patch)
tree18981248eaccd01cd20dc50cfe240d61e0ff1e30 /ffi.h
parent730d6f7ea7f09c977084395bf88a14d9a815fad2 (diff)
downloadtxr-edbf1a07fcbc1631e040fbaca6e0ab4cd460259a.tar.gz
txr-edbf1a07fcbc1631e040fbaca6e0ab4cd460259a.tar.bz2
txr-edbf1a07fcbc1631e040fbaca6e0ab4cd460259a.zip
ffi: big and little endian types.
* ffi.c (be_uint16_s, be_int16_s, be_uint32_s, be_int32_s, be_uint64_s, be_int64_s, be_float_s, be_double_s, le_uint16_s, le_int16_s, le_uint32_s, le_int32_s, le_uint64_s, le_int64_s, le_float_s, le_double_s): New symbol variables. (ffi_be_i16_put, ffi_be_i16_get, ffi_be_u16_put, ffi_be_u16_get, ffi_le_i16_put, ffi_le_i16_get, ffi_le_u16_put, ffi_le_u16_get, ffi_be_i32_put, ffi_be_i32_get, ffi_be_u32_put, ffi_be_u32_get, ffi_le_i32_put, ffi_le_i32_get, ffi_le_u32_put, ffi_le_u32_get, ffi_be_i64_put, ffi_be_i64_get, ffi_be_u64_put, ffi_be_u64_get, ffi_le_i64_put, ffi_le_i64_get, ffi_le_u64_put, ffi_le_u64_get, ffi_be_float_put, ffi_be_float_get, ffi_le_float_put, ffi_le_float_get, ffi_be_double_put, ffi_be_double_get, ffi_le_double_put, ffi_le_double_get): New static functions. (ffi_init_types): Register new type symbols via typedef mechanism. (ffi_init): Initialize new symbol variables. * ffi.c (be_uint16_s, be_int16_s, be_uint32_s, be_int32_s, be_uint64_s, be_int64_s, be_float_s, be_double_s, le_uint16_s, le_int16_s, le_uint32_s, le_int32_s, le_uint64_s, le_int64_s, le_float_s, le_double_s): Declared.
Diffstat (limited to 'ffi.h')
-rw-r--r--ffi.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/ffi.h b/ffi.h
index a34bbfef..b36a99e6 100644
--- a/ffi.h
+++ b/ffi.h
@@ -39,6 +39,16 @@ extern val double_s;
extern val val_s;
+extern val be_uint16_s, be_int16_s;
+extern val be_uint32_s, be_int32_s;
+extern val be_uint64_s, be_int64_s;
+extern val be_float_s, be_double_s;
+
+extern val le_uint16_s, le_int16_s;
+extern val le_uint32_s, le_int32_s;
+extern val le_uint64_s, le_int64_s;
+extern val le_float_s, le_double_s;
+
extern val array_s, zarray_s, carray_s;
extern val struct_s;