/trunk/Examples/test-suite/pointer_in_out.i
Swig | 35 lines | 23 code | 9 blank | 3 comment | 0 complexity | d48c80e53fe7e431d4419c24b37ab0c1 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* This file tests the pointer-in-out typemap library,
- currently only available for Guile. */
- %module pointer_in_out
- %include "pointer-in-out.i"
- TYPEMAP_POINTER_INPUT_OUTPUT(int *, int-pointer);
- int consume_int_pointer(int **INPUT);
- void produce_int_pointer(int **OUTPUT, int value1, int value2);
- void frobnicate_int_pointer(int **INOUT);
- %{
- int consume_int_pointer(int **INPUT)
- {
- return **INPUT;
- }
- void produce_int_pointer(int **OUTPUT, int value1, int value2)
- {
- int *foo = malloc(2 * sizeof(int));
- foo[0] = value1;
- foo[1] = value2;
- *OUTPUT = foo;
- }
- void frobnicate_int_pointer(int **INOUT)
- {
- /* advance the pointer */
- (*INOUT)++;
- }
- %}