File: nested.i

package info (click to toggle)
swig 1.1p5-1
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 9,448 kB
  • ctags: 5,025
  • sloc: cpp: 21,599; ansic: 13,333; yacc: 3,297; python: 2,794; makefile: 2,197; perl: 1,984; tcl: 1,583; sh: 736; lisp: 201; objc: 143
file content (39 lines) | stat: -rw-r--r-- 764 bytes parent folder | download | duplicates (4)
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
// Handling of a simple nested structure

%module nested

// This typemap is used to set the name field below

%typemap(memberin) char name[32] {
	strncpy($target,$source,31);
}	

%inline %{
typedef struct {  
                  unsigned int dataType;
                  union {
			int       intval;
			double    doubleval;
			char     *charval;
			void     *ptrvalue;
			long      longval;
			struct {
                               int    i;
			       double f;
                               void   *v;
  			       char name[32];

                        } v;
		} u;
} ValueStruct;

/* Create a new structure */
ValueStruct *new_value(unsigned int type) {
	ValueStruct *v;
	v = (ValueStruct *) malloc(sizeof(ValueStruct));
	v->dataType = type;
	return v;
}

%}