he "bar" method is wrapped by a function like this:

<blockquote>
<pre>
double Foo_bar(Foo *self, double arg0) {
   return self-&gt;bar(arg0);
}
</pre>
</blockquote>

<p>
<li><b>Structure/class data members</b>.  Data members are handled by creating a pair
of wrapper functions that set and get the value respectively.   For example:

<blockquote>
<pre>
struct Foo {
    int x;
};
</pre>
</blockquote>

gets wrapped as follows:

<blockquote>
<pre>
int Foo_x_get(Foo *self) {
    return self-&gt;x;
}
int Foo_x_se