summaryrefslogtreecommitdiffstats
path: root/syslog.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-06-23 06:23:27 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-06-23 06:23:27 -0700
commitaf052dcb0df9aeb5411ba8b60f1890dd46cc6c35 (patch)
tree31524cb2d555fc62ebfa09940e9482a8aaf08639 /syslog.c
parentee064377143aa9cefb503bf0c277929a7ca641a1 (diff)
downloadtxr-af052dcb0df9aeb5411ba8b60f1890dd46cc6c35.tar.gz
txr-af052dcb0df9aeb5411ba8b60f1890dd46cc6c35.tar.bz2
txr-af052dcb0df9aeb5411ba8b60f1890dd46cc6c35.zip
ffi: provide support for unions.
* ffi.c (union_s): New symbol variable. (ffi_find_memb, ffi_memb_not_found): New static functions. (ffi_union_in, ffi_union_put, ffi_union_get): New static functions. (make_ffi_type_union): New static function. (ffi_struct_compile): Handle union syntax using ffi_struct_compile to compile the member definitions to types, and make_ffi_type_union to produce the type node. (struct uni): New struct type. (uni_struct, uni_struct_checked): New static functions. (union_destroy_op, union_mark_op): New static functions. (union_ops): New static struct. (make_union_common, make_union_tft): New static functions. (union_get_ptr, make_union, union_members, union_get, union_put, union_in, union_out): New functions. (ffi_init): Initialize union_s. Register intrinsics make-union, union-members, union-get, union-put, union-in, union-out. * ffi.h (union_s, union_get_ptr, make_union, union_members, union_get, union_put, union_in, union_out): Declared. * txr.1: Documented unions.
Diffstat (limited to 'syslog.c')
0 files changed, 0 insertions, 0 deletions