<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:ns5 = 
"http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:ns4 = 
"http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ns3 = 
"http://schemas.microsoft.com/office/2004/12/omml" xmlns:ns2 = 
"http://schemas.openxmlformats.org/package/2006/relationships" xmlns:ns1 = 
"http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ns0 = 
"http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:udcxf = 
"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:xsi = 
"http://www.w3.org/2001/XMLSchema-instance" xmlns:sps = 
"http://schemas.microsoft.com/sharepoint/soap/" xmlns:sp = 
"http://schemas.microsoft.com/sharepoint/" xmlns:ec = 
"http://www.w3.org/2001/04/xmlenc#" xmlns:sub = 
"http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:xsd = 
"http://www.w3.org/2001/XMLSchema" xmlns:udc = 
"http://schemas.microsoft.com/data/udc" xmlns:dsp = 
"http://schemas.microsoft.com/sharepoint/dsp" xmlns:ds = 
"http://www.w3.org/2000/09/xmldsig#" xmlns:dir = 
"http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ois = 
"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:x2 = 
"http://schemas.microsoft.com/office/excel/2003/xml" XMLNS:D = "DAV:" xmlns:q = 
"http://schemas.xmlsoap.org/soap/envelope/" xmlns:html = 
"http://www.w3.org/TR/REC-html40" xmlns:oa = 
"urn:schemas-microsoft-com:office:activation" xmlns:c = 
"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:ss = 
"urn:schemas-microsoft-com:office:spreadsheet" xmlns:b = 
"urn:schemas-microsoft-com:office:publisher" xmlns:z = "#RowsetSchema" xmlns:rs 
= "urn:schemas-microsoft-com:rowset" xmlns:s = 
"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt = 
"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:a = 
"urn:schemas-microsoft-com:office:access" xmlns:p = 
"urn:schemas-microsoft-com:office:powerpoint" xmlns:x = 
"urn:schemas-microsoft-com:office:excel" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:v = 
"urn:schemas-microsoft-com:vml"><HEAD><!--[if !mso]>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Calibri;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; }
A:link {
        mso-style-priority: 99
}
SPAN.MSOHYPERLINK {
        mso-style-priority: 99
}
A:visited {
        mso-style-priority: 99
}
SPAN.MSOHYPERLINKFOLLOWED {
        mso-style-priority: 99
}
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle19 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
<META content="MSHTML 6.00.2900.3243" name=GENERATOR></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV><SPAN class=008153210-14042008><FONT face=Arial color=#0000ff size=2>VSTAT 
is the most usable utility. Till we have time to fix the patch as it is needed, 
it's good to have something, that works right.</FONT></SPAN></DIV><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> Sean Hefty [mailto:sean.hefty@intel.com] 
  <BR><B>Sent:</B> Thursday, April 10, 2008 9:26 PM<BR><B>To:</B> Leonid Keller; 
  Fab Tillier; Reuven Amitai; ofw@lists.openfabrics.org<BR><B>Subject:</B> RE: 
  [ofw] RE: [PATCH] mthca patch [1/2]<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Just committing is 
  not the right process to follow.  This should not be committed until the 
  issue that Fab pointed out is addressed.  The size is being rounded down, 
  which at least to me looks like the returned pointers are referencing the 
  wrong memory.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">From what you say, 
  this fixes a print.  Why is there a rush to commit a patch just for a 
  print?<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <DIV 
  style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: blue 1.5pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: medium none">
  <DIV>
  <DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT 
  face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">
  <HR tabIndex=-1 align=center width="100%" SIZE=2>
  </SPAN></FONT></DIV>
  <P class=MsoNormal><B><FONT face=Tahoma size=2><SPAN 
  style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT 
  face=Tahoma size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"> 
  ofw-bounces@lists.openfabrics.org [mailto:ofw-bounces@lists.openfabrics.org] 
  <B><SPAN style="FONT-WEIGHT: bold">On Behalf Of </SPAN></B>Leonid 
  Keller<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Wednesday, April 
  09, 2008 11:59 PM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> Fab 
  Tillier; Reuven Amitai; ofw@lists.openfabrics.org<BR><B><SPAN 
  style="FONT-WEIGHT: bold">Subject:</SPAN></B> RE: [ofw] RE: [PATCH] mthca 
  patch [1/2]</SPAN></FONT><o:p></o:p></P></DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Hi 
  Fab,</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">This patch fixes 
  printing of uplink information in VSTAT and i'm going to commit it now, 
  because it improves the current state.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">But really all the 
  implementation of vendor-specific information in query_ca is 
  bad.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">We need to define a 
  structure, describing all that info and to work with names, not 
  calculated offsets.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">We'll put it on our 
  todo list.</SPAN></FONT><o:p></o:p></P></DIV>
  <BLOCKQUOTE 
  style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 4pt; PADDING-BOTTOM: 0in; MARGIN: 5pt 0in 5pt 3.75pt; BORDER-LEFT: blue 1.5pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: medium none">
    <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P>
    <DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT 
    face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">
    <HR tabIndex=-1 align=center width="100%" SIZE=2>
    </SPAN></FONT></DIV>
    <P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><B><FONT face=Tahoma 
    size=2><SPAN 
    style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT 
    face=Tahoma size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"> 
    ofw-bounces@lists.openfabrics.org [mailto:ofw-bounces@lists.openfabrics.org] 
    <B><SPAN style="FONT-WEIGHT: bold">On Behalf Of </SPAN></B>Fab 
    Tillier<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Wednesday, 
    April 09, 2008 7:44 PM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> 
    Reuven Amitai; ofw@lists.openfabrics.org<BR><B><SPAN 
    style="FONT-WEIGHT: bold">Subject:</SPAN></B> [ofw] RE: [PATCH] mthca patch 
    [1/2]</SPAN></FONT><o:p></o:p></P>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">Hi 
    Reuven,<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">What is the 
    problem with the alignment?  The board ID is a character string, so 
    shouldn’t need any special alignment.  Also, you are rounding the size 
    down – is that the right thing to do?<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">What is the 
    layout of the ca_attr buffer, and what are the alignment requirements for 
    the different structures appended to the 
    end?<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">Is 
    MTHCA_BRD_ID_LEN going to cause the uplink info to be 
    aligned?<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt">Thanks,<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt">-Fab<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN color:#1F497D? Calibri?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P></SPAN>
    <DIV>
    <DIV 
    style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 3pt; BORDER-BOTTOM: medium none">
    <P class=MsoNormal><B><SPAN Tahoma?,?sans-serif??><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-WEIGHT: bold; FONT-SIZE: 12pt">From:</SPAN></SPAN></FONT></B><SPAN 
    Tahoma?,?sans-serif??> ofw-bounces@lists.openfabrics.org 
    [mailto:ofw-bounces@lists.openfabrics.org] <B><SPAN 
    style="FONT-WEIGHT: bold">On Behalf Of </SPAN></B>Reuven Amitai<BR><B><SPAN 
    style="FONT-WEIGHT: bold">Sent:</SPAN></B> Wednesday, April 09, 2008 6:04 
    AM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> 
    ofw@lists.openfabrics.org<BR><B><SPAN 
    style="FONT-WEIGHT: bold">Subject:</SPAN></B> [ofw] [PATCH] mthca patch 
    [1/2]<o:p></o:p></P></DIV></DIV></SPAN>
    <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P>
    <DIV>
    <P class=MsoNormal><SPAN color:blue? Arial?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt">Hi,</SPAN><o:p></o:p></SPAN></FONT></P></DIV>
    <DIV>
    <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
    <DIV>
    <P class=MsoNormal><SPAN color:blue? Arial?,?sans-serif?;><FONT 
    face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">The following 
    patch align the returned address.</SPAN><o:p></o:p></SPAN></FONT></P></DIV>
    <DIV>
    <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
    <P class=MsoNormal><EM><SPAN color:blue? Arial?,?sans-serif?;><I><FONT 
    face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">Thanks, 
    Reuven.</SPAN></SPAN></FONT></I></EM><o:p></o:p></P>
    <DIV>
    <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
    <DIV>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">Index: 
    inc/mthca/mthca_vc.h<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt">===================================================================<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">--- 
    inc/mthca/mthca_vc.h      (revision 
    1047)<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+++ 
    inc/mthca/mthca_vc.h      (working 
    copy)<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">@@ -78,12 +78,18 
    @@<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt"> inline char* 
    mthca_get_board_id(ib_ca_attr_t 
*ca_attr)<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt"> {<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">-    return 
    (char*)(ca_attr)+(ca_attr->size - MTHCA_BRD_ID_LEN - 
    sizeof(uplink_info_t));<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+     int size = 
    (ca_attr->size - MTHCA_BRD_ID_LEN - 
    sizeof(uplink_info_t));<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+     size &= 
    ~(sizeof(void*) - 1);<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+     
    <o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+     return 
    (char*)(ca_attr)+ size;<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt"> }<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt"> inline void* 
    mthca_get_uplink_info(ib_ca_attr_t 
    *ca_attr)<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt"> {<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">-    return 
    (char*)(ca_attr)+(ca_attr->size - 
    sizeof(uplink_info_t));<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+     int size = 
    (ca_attr->size - 
    sizeof(uplink_info_t));<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+     size &= 
    ~(sizeof(void*) - 1);<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN style="FONT-SIZE: 12pt">+     return 
    (char*)(ca_attr)+ size;<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt"> }<o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></SPAN>
    <P class=MsoNormal><SPAN New?? Courier><FONT face="Times New Roman" 
    size=3><SPAN 
    style="FONT-SIZE: 12pt"> #endif<o:p></o:p></SPAN></FONT></P></DIV></SPAN>
    <DIV>
    <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
    style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV></BLOCKQUOTE></DIV></DIV></BLOCKQUOTE></BODY></HTML>