r("const char *", "arg2"),
                               rcaststr("double &amp;", "arg3"))
   ...
}
</pre>
</blockquote>

Here's how it would look with the corresponding output filled in:
<blockquote>
<pre>
wrapper_foo() {
   int      result;
   int      arg0;
   double  *arg1;
   char    *arg2;
   double  *arg3;
   ...
   get arguments
   ...
   result = (int) foo(arg0,
                      (double (*)[30]) arg1,
                      (const char *) arg2,
                      (double &amp;) *arg3);
   .