summaryrefslogtreecommitdiff
path: root/Examples/ruby/funcptr2/example.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/ruby/funcptr2/example.i')
-rw-r--r--Examples/ruby/funcptr2/example.i18
1 files changed, 18 insertions, 0 deletions
diff --git a/Examples/ruby/funcptr2/example.i b/Examples/ruby/funcptr2/example.i
new file mode 100644
index 0000000..681775a
--- /dev/null
+++ b/Examples/ruby/funcptr2/example.i
@@ -0,0 +1,18 @@
+/* File : example.i */
+%module example
+%{
+#include "example.h"
+%}
+
+/* Wrap a function taking a pointer to a function */
+extern int do_op(int a, int b, int (*op)(int, int));
+
+/* Now install a bunch of "ops" as constants */
+%callback("%(upper)s");
+int add(int, int);
+int sub(int, int);
+int mul(int, int);
+%nocallback;
+
+extern int (*funcvar)(int,int);
+