Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / examples / ffi / ffi-export.c
1 #include <stdio.h>
2 #include "export.h"
3
4 /* Functions in C are by default PUBLIC symbols */
5 void g () {
6 Char8 c;
7
8 fprintf (stderr, "g starting\n");
9 c = f (13, 17.15, 'a');
10 fprintf (stderr, "g done char = %c\n", c);
11 }
12
13 Pointer g2 () {
14 Pointer res;
15 fprintf (stderr, "g2 starting\n");
16 res = f2 (0xFF);
17 fprintf (stderr, "g2 done\n");
18 return res;
19 }
20
21 void g3 () {
22 fprintf (stderr, "g3 starting\n");
23 f3 ();
24 fprintf (stderr, "g3 done\n");
25 }
26
27 void g4 (Int32 i) {
28 fprintf (stderr, "g4 (%d)\n", i);
29 f4 (i);
30 }
31
32 void g5 () {
33 fprintf (stderr, "g5 ()\n");
34 fprintf (stderr, "zzz = %i\n", zzz);
35 fprintf (stderr, "g5 done\n");
36 }