diff options
author | 2022-04-30 05:56:46 -0700 | |
---|---|---|
committer | 2022-04-30 05:56:46 -0700 | |
commit | 893d245dcabd540199e0b900d850677cf3896569 (patch) | |
tree | 565dfaae8d8c6b73a18a2635d13699be23360b41 /integration/bunjs-only-snippets | |
parent | 516b54578dec5506fed1d88fb6b9e2d8dc89d2ea (diff) | |
download | bun-893d245dcabd540199e0b900d850677cf3896569.tar.gz bun-893d245dcabd540199e0b900d850677cf3896569.tar.zst bun-893d245dcabd540199e0b900d850677cf3896569.zip |
a
Diffstat (limited to 'integration/bunjs-only-snippets')
-rw-r--r-- | integration/bunjs-only-snippets/ffi-test.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/integration/bunjs-only-snippets/ffi-test.c b/integration/bunjs-only-snippets/ffi-test.c index 562d31784..07a477cc0 100644 --- a/integration/bunjs-only-snippets/ffi-test.c +++ b/integration/bunjs-only-snippets/ffi-test.c @@ -1,5 +1,6 @@ #include <stdbool.h> #include <stdint.h> +#include <stdio.h> #include <stdlib.h> bool returns_true(); @@ -16,6 +17,20 @@ int16_t returns_neg_42_int16_t(); int32_t returns_neg_42_int32_t(); int64_t returns_neg_42_int64_t(); +bool cb_identity_true(bool (*cb)()); +bool cb_identity_false(bool (*cb)()); +char cb_identity_42_char(char (*cb)()); +float cb_identity_42_float(float (*cb)()); +double cb_identity_42_double(double (*cb)()); +uint8_t cb_identity_42_uint8_t(uint8_t (*cb)()); +int8_t cb_identity_neg_42_int8_t(int8_t (*cb)()); +uint16_t cb_identity_42_uint16_t(uint16_t (*cb)()); +uint32_t cb_identity_42_uint32_t(uint32_t (*cb)()); +uint64_t cb_identity_42_uint64_t(uint64_t (*cb)()); +int16_t cb_identity_neg_42_int16_t(int16_t (*cb)()); +int32_t cb_identity_neg_42_int32_t(int32_t (*cb)()); +int64_t cb_identity_neg_42_int64_t(int64_t (*cb)()); + bool identity_bool_true(); bool identity_bool_false(); char identity_char(char a); @@ -94,3 +109,15 @@ void *ptr_should_point_to_42_as_int32_t() { bool does_pointer_equal_42_as_int32_t(int32_t *ptr); bool does_pointer_equal_42_as_int32_t(int32_t *ptr) { return *ptr == 42; } +bool cb_identity_false(bool (*cb)()) { return cb(); } +char cb_identity_42_char(char (*cb)()) { return cb(); } +float cb_identity_42_float(float (*cb)()) { return cb(); } +double cb_identity_42_double(double (*cb)()) { return cb(); } +uint8_t cb_identity_42_uint8_t(uint8_t (*cb)()) { return cb(); } +int8_t cb_identity_neg_42_int8_t(int8_t (*cb)()) { return cb(); } +uint16_t cb_identity_42_uint16_t(uint16_t (*cb)()) { return cb(); } +uint32_t cb_identity_42_uint32_t(uint32_t (*cb)()) { return cb(); } +uint64_t cb_identity_42_uint64_t(uint64_t (*cb)()) { return cb(); } +int16_t cb_identity_neg_42_int16_t(int16_t (*cb)()) { return cb(); } +int32_t cb_identity_neg_42_int32_t(int32_t (*cb)()) { return cb(); } +int64_t cb_identity_neg_42_int64_t(int64_t (*cb)()) { return cb(); }
\ No newline at end of file |