]> Cypherpunks.ru repositories - gostls13.git/blob - src/cmd/cgo/internal/swig/testdata/stdio/main.swig
misc/swig: restructure as a driver
[gostls13.git] / src / cmd / cgo / internal / swig / testdata / stdio / main.swig
1 /* Copyright 2011 The Go Authors. All rights reserved.
2    Use of this source code is governed by a BSD-style
3    license that can be found in the LICENSE file.  */
4
5 /* A trivial example of wrapping a C library using SWIG.  */
6
7 %{
8 #include <stdio.h>
9 #include <stdlib.h>
10 %}
11
12 %typemap(gotype) const char * "string"
13 %typemap(in) const char * %{
14         $1 = malloc($input.n + 1);
15         memcpy($1, $input.p, $input.n);
16         $1[$input.n] = '\0';
17 %}
18 %typemap(freearg) const char * %{
19         free($1);
20 %}
21
22 FILE *fopen(const char *name, const char *mode);
23 int fclose(FILE *);
24 int fgetc(FILE *);