summaryrefslogtreecommitdiffstats
path: root/ffi.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-05-04 23:22:08 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-05-04 23:22:08 -0700
commitf7b1729c070b1264fbe0c05d9e734d0c565bf64e (patch)
tree22f4258bb80b5d1cc950d5c405eb0c694b86eec8 /ffi.h
parent0855c5c330332eee1adb61c9fb9c9e69636c2051 (diff)
downloadtxr-f7b1729c070b1264fbe0c05d9e734d0c565bf64e.tar.gz
txr-f7b1729c070b1264fbe0c05d9e734d0c565bf64e.tar.bz2
txr-f7b1729c070b1264fbe0c05d9e734d0c565bf64e.zip
ffi: functions for type-system-driven buffer coding.
* ffi.c (ffi_put_into, ffi_put, ffi_in, ffi_get, ffi_out): New functions. (ffi_init): ffi-put-into, ffi-put, ffi-in, ffi-get, ffi-out: intrinsics registered. * ffi.h (ffi_put_into, ffi_put, ffi_in, ffi_get, ffi_out): Declared.
Diffstat (limited to 'ffi.h')
-rw-r--r--ffi.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/ffi.h b/ffi.h
index c598044f..bd8b61fb 100644
--- a/ffi.h
+++ b/ffi.h
@@ -57,4 +57,9 @@ val ffi_make_closure(val fun, val call_desc);
mem_t *ffi_closure_get_fptr(val closure);
val ffi_call_wrap(val ffi_call_desc, val fptr, val args);
val ffi_typedef(val name, val type);
+val ffi_put_into(val dstbuf, val obj, val type);
+val ffi_put(val obj, val type);
+val ffi_in(val srcbuf, val obj, val type);
+val ffi_get(val srcbuf, val type);
+val ffi_out(val dstbuf, val obj, val type, val copy_p);
void ffi_init(void);