aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/extern_c.i
blob: e56d9f128c9e7da7215bd4ece108d8528cdd008b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
%module extern_c

%inline %{
extern "C" {
void RealFunction(int value);
typedef void Function1(int value); // Fails
typedef int Integer1;
}
typedef void Function2(int value); // Works
typedef int Integer2;
%}

%{
void RealFunction(int value) {}
%}


%inline %{
extern "C" {
  typedef void (*Hook1_t)(int, const char *);
}
extern "C" typedef void (*Hook2_t)(int, const char *);
void funcy1(Hook1_t) {}
void funcy2(Hook2_t) {}
Hook1_t hook1;
Hook2_t hook2;

extern "C" typedef int Integer;
Integer int1;
%}