While working on the Rhipmunk FFI, I ran into a definition called &quot;NOT_GRABABLE_MASK&quot;, which as far as I can tell, is defined as:<br>#define GRABABLE_MASK (1&lt;&lt;31)<br>#define NOT_GRABABLE_MASK (~GRABABLE_MASK)<br>
<br>The problem with this, is that when I do the same operations:<br>(define GRABABLE_MASK (int-&gt;uint (arithmetic-shift 1 31)))<br>(define NOT_GRABABLE_MASK (bitwise-not GRABABLE_MASK))<br><br>I get an error thrown back at me when I use it in one of the Chipmunk functions:<br>
Scheme-&gt;C: expects argument of type &lt;uint32&gt;; given -2147483649<br><br>How can I coerce the definitions of those two masks so that they will be a uint32 that I can pass to the Chipmunk API?<br>