summaryrefslogtreecommitdiff
path: root/Examples/lua/pointer/example.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/lua/pointer/example.i')
-rw-r--r--Examples/lua/pointer/example.i35
1 files changed, 35 insertions, 0 deletions
diff --git a/Examples/lua/pointer/example.i b/Examples/lua/pointer/example.i
new file mode 100644
index 0000000..d49365b
--- /dev/null
+++ b/Examples/lua/pointer/example.i
@@ -0,0 +1,35 @@
+/* File : example.i */
+%module example
+
+%{
+ #include <stdlib.h>
+%}
+
+/* This example illustrates a couple of different techniques
+ for manipulating C pointers */
+
+/* First we'll use the pointer library */
+%inline %{
+extern void add(int *x, int *y, int *result);
+%}
+%include cpointer.i
+%pointer_functions(int, intp);
+
+/* Next we'll use some typemaps */
+
+%include typemaps.i
+extern void sub(int *INPUT, int *INPUT, int *OUTPUT);
+%{
+extern void sub(int *, int *, int *);
+%}
+
+/* Next we'll use typemaps and the %apply directive */
+
+%apply int *OUTPUT { int *r };
+%inline %{
+extern int divide(int n, int d, int *r);
+%}
+
+
+
+