blob: f4b1ed440abcf52db5f00f2257fc32bce9b928c3 [file] [log] [blame]
/* 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)++;
}
%}