/* File : example.i */ %module swigexample %feature("autodoc", 1); %{ extern void add(int *, int *, int *); extern void sub(int *, int *, int *); extern int divide(int, int, int *); %} /* This example illustrates a couple of different techniques for manipulating C pointers */ /* First we'll use the pointer library */ 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); /* Next we'll use typemaps and the %apply directive */ %apply int *OUTPUT { int *r }; extern int divide(int n, int d, int *r);