diff options
Diffstat (limited to 'ocaml-binary-annot/testsuite/tests/embedded/cmstub.c')
| -rw-r--r-- | ocaml-binary-annot/testsuite/tests/embedded/cmstub.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ocaml-binary-annot/testsuite/tests/embedded/cmstub.c b/ocaml-binary-annot/testsuite/tests/embedded/cmstub.c new file mode 100644 index 0000000000..56cd694431 --- /dev/null +++ b/ocaml-binary-annot/testsuite/tests/embedded/cmstub.c @@ -0,0 +1,17 @@ +#include <string.h> +#include <caml/mlvalues.h> +#include <caml/callback.h> + +/* Functions callable directly from C */ + +int fib(int n) +{ + value * fib_closure = caml_named_value("fib"); + return Int_val(callback(*fib_closure, Val_int(n))); +} + +char * format_result(int n) +{ + value * format_result_closure = caml_named_value("format_result"); + return strdup(String_val(callback(*format_result_closure, Val_int(n)))); +} |
