%module example
%{
static int foo( char **buf ) {
  *buf = "string from c";
  return 0;
}
%}

%typemap(in,numinputs=0) char **buf (char *temp) {
    $1 = &temp;
}
%typemap(argout) char **buf {
    swig_result = caml_list_append(swig_result,caml_val_string((char *)*$1));
}

int foo( char **buf );
