blob: b9a670cf51281e131a92c654134a26689654a1ac (
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
%module typedef_struct
%inline %{
#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
/* for anonymous enums */
/* dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] */
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif
typedef struct {
int numpoints;
} LineObj;
typedef LineObj MultipointObj;
typedef struct {
#ifdef SWIG
%immutable;
#endif
char *filename;
int numfonts;
#ifdef SWIG
%mutable;
#endif
int* fonts;
#ifndef SWIG
void* map;
#endif
} FontSetObj;
#define MS_NOOVERRIDE -1111
#include <stdlib.h>
%}
%inline %{
typedef struct {
int a;
int b;
} A_t, *B_t;
A_t* make_a() {
return (A_t*)malloc(sizeof(A_t));
}
B_t make_b() {
return make_a();
}
%}
%inline %{
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _Foo {
enum { NONAME1, NONAME2 } enumvar;
int foovar;
void (*fptr)(int);
} Foo;
#ifdef __cplusplus
}
#endif
%}
|