<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi,<div><br></div><div>Im writing interop code for Core Foundation on Mac OS X.  Im curious if anyone has suggestions on how to determine when you are running 32/64 bit in Mono.  Id like to write my interop code so that it can handle both cases or at least can be compiled for each case.</div><div><br></div><div>Heres an example, in CFBase.c:</div><div><br></div><div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">#if __LLP64__</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(187, 44, 162);">typedef<span style="color: #000000"> </span>signed<span style="color: #000000"> </span>long<span style="color: #000000"> </span>long<span style="color: #000000"> CFIndex;<span class="Apple-tab-span" style="white-space:pre">  </span>// CFIndex is 64 bits.</span></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">#else<span class="Apple-tab-span" style="white-space:pre">        </span></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(187, 44, 162);">typedef<span style="color: #000000"> </span>signed<span style="color: #000000"> </span>long<span style="color: #000000"> CFIndex;<span class="Apple-tab-span" style="white-space:pre">          </span>// CFIndex is 32 bits.</span></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">#endif</div></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);"><br></div><div style="margin: 0px; font-size: 11px;">If I want to handle this in C#, say for a CFRange which has two CFIndex values, like so:</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);"><br></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">#if (CF_IS_64_BIT)<span class="Apple-tab-span" style="white-space:pre">  </span>// < are there any defined constants for this?</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">



<font face="Menlo">
<span style="color:#444444;"></span><span style="color: rgb(0, 150, 149);">long</span><span style="color: rgb(68, 68, 68);"> </span><span style="color: rgb(68, 68, 68);">location</span><span style="color: rgb(68, 68, 68);">;</span><br><font color="#009695">long</font><span style="color: rgb(68, 68, 68);"> </span><span style="color: rgb(68, 68, 68);">length</span><span style="color: rgb(68, 68, 68);">;</span></font>

</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">#else</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">



<font face="Menlo">
<span style="color:#444444;"></span><span style="color:#009695;">int</span><span style="color:#444444;"> </span><span style="color:#444444;">location</span><span style="color:#444444;">;</span><br><span style="color:#009695;">int</span><span style="color:#444444;"> </span><span style="color:#444444;">length</span><span style="color:#444444;">;</span></font>

</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">#endif</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);"><br></div><div style="margin: 0px; font-size: 11px;">Is there a defined value in Mono to determine if the system is 32 bit versus 64 bit?  Are there better ways to handle this?  I wanted to avoid IntPrs as the code would get messy quick.</div><div style="margin: 0px; font-size: 11px;"><br></div><div style="margin: 0px; font-size: 11px;">Thanks,</div><div style="margin: 0px; font-size: 11px;"><br></div><div style="margin: 0px; font-size: 11px;">Chris McKinnon</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);"><br></div></body></html>