mirror of https://github.com/swig/swig
42 lines
661 B
OpenEdge ABL
42 lines
661 B
OpenEdge ABL
%module extern_c
|
|
|
|
%inline %{
|
|
extern "C" {
|
|
void RealFunction(int value);
|
|
typedef void Function1(int value); // Fails
|
|
typedef int Integer1;
|
|
int Integer3;
|
|
}
|
|
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;
|
|
extern "C" int int2;
|
|
extern "C" { extern int int3; }
|
|
extern "C" { int int4 = 789; }
|
|
%}
|
|
|
|
%{
|
|
extern "C" {
|
|
int int2 = 123;
|
|
int int3 = 456;
|
|
}
|
|
%}
|