define(Inline, EXTERN inline $2 $1($3 $4) { return ($2) ($5); } ) define(Inline0, EXTERN inline $2 $1() { return ($2) ($3); } ) define(Inline2, EXTERN inline $2 $1($3 $4,$5 $6) { return ($2) ($7); } ) define(AbsType,typedef struct _$1 { } *$1) define(Constructor, EXTERN inline $1 $2$1($3 $4) { return ($1) ($5); } ) define(Destructor, EXTERN inline $3 $2$1($1 $4) { return ($3) ($5); } )