1 /* File : example.i */ 2 %module example 3 %{ 4 #include "example.h" 5 %} 6 7 /* Some global variable declarations */ 8 %inline %{ 9 extern int ivar; 10 extern short svar; 11 extern long lvar; 12 extern unsigned int uivar; 13 extern unsigned short usvar; 14 extern unsigned long ulvar; 15 extern signed char scvar; 16 extern unsigned char ucvar; 17 extern char cvar; 18 extern float fvar; 19 extern double dvar; 20 extern char *strvar; 21 extern const char cstrvar[]; 22 extern int *iptrvar; 23 extern char name[256]; 24 25 extern Point *ptptr; 26 extern Point pt; 27 %} 28 29 30 /* Some read-only variables */ 31 32 %immutable; 33 34 %inline %{ 35 extern int status; 36 extern char path[256]; 37 %} 38 39 %mutable; 40 41 /* Some helper functions to make it easier to test */ 42 %inline %{ 43 extern void print_vars(); 44 extern int *new_int(int value); 45 extern Point *new_Point(int x, int y); 46 extern char *Point_print(Point *p); 47 extern void pt_print(); 48 %} 49 50