<html> <head> <title>Global Functions in Namespace in Sourcefile uuid.h</title> <link rel="stylesheet" type="text/css" href="../cpp.css"> </head> <body> <div id="adc-cppref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="1" cellspacing="0"> <tr align="center" valign="top"> <td class="navimain"> <a href="../index.html">Overview</a> </td> <td class="navimain"> <a href="index.html">Namespace</a> </td> <td class="navimainnone"> Class </td> <td class="navimain"> <a href="../index-files/index-1.html">Index</a> </td> <td class="navimain"> <a href="../help.html">Help</a> </td> </tr> </table> <table class="navisub" cellpadding="0" cellspacing="3"></table> <hr> <div class="title"><h2>Global Functions in Global Namespace C++<br> in Sourcefile uuid.h</h2> </div><hr> <dl class="member"> <dt class="member"><a name="rtl_compareUuid-1713"> </a>rtl_compareUuid</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> <a href="t-sal_Int32.html">sal_Int32</a> <strong>rtl_compareUuid</strong>(</dt> <dd><table class="param-table"> <tr> <td>const <a href="t-sal_uInt8.html">sal_uInt8</a> * </td> <td> pUUID1,</td> </tr> <tr> <td>const <a href="t-sal_uInt8.html">sal_uInt8</a> *</td> <td>pUUID2 );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Compare two UUID's lexically </dd> <dt>Description</dt> <dd> <p> Note: lexical ordering is not temporal ordering! <p> Note: For equalnesschecking, a memcmp(pUUID1,pUUID2,16) is more efficient </dd> <dt>Return</dt> <dd> <ul> <li>-1 u1 is lexically before u2 <li>0 u1 is equal to u2 <li>1 u1 is lexically after u2 </ul> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_createNamedUuid-1714"> </a>rtl_createNamedUuid</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> void <strong>rtl_createNamedUuid</strong>(</dt> <dd><table class="param-table"> <tr> <td><a href="t-sal_uInt8.html">sal_uInt8</a> * </td> <td> pTargetUUID,</td> </tr> <tr> <td>const <a href="t-sal_uInt8.html">sal_uInt8</a> *</td> <td>pNameSpaceUUID,</td> </tr> <tr> <td>const <a href="t-rtl_String.html">rtl_String</a> *</td> <td>pName );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Creates named UUIDs. </dd> <dt>Description</dt> <dd> <p> The version 3 UUID is meant for generating UUIDs from <em>names</em> that are drawn from, and unique within, some <em>name space</em>. Some examples of names (and, implicitly, name spaces) might be DNS names, URLs, ISO Object IDs (OIDs), reserved words in a programming language, or X.500 Distinguished Names (DNs); thus, the concept of name and name space should be broadly construed, and not limited to textual names. <p> The requirements for such UUIDs are as follows: <ul> <li> The UUIDs generated at different times from the same name in the same namespace MUST be equal <li> The UUIDs generated from two different names in the same namespace should be different (with very high probability) <li> The UUIDs generated from the same name in two different namespaces should be different with (very high probability) <li> If two UUIDs that were generated from names are equal, then they were generated from the same name in the same namespace (with very high probability). </ul> </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pTargetUUID</td> <td><pre>pointer to at least 16 bytes of memory. After the call it contains the newly generated uuid in network byte order. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pNameSpaceUUID</td> <td><pre>The namespace uuid. Below are some predefined ones, but any arbitray uuid can be used as namespace. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pName</td> <td><pre>the name </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_createUuid-1712"> </a>rtl_createUuid</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> void <strong>rtl_createUuid</strong>(</dt> <dd><table class="param-table"> <tr> <td><a href="t-sal_uInt8.html">sal_uInt8</a> * </td> <td> pTargetUUID,</td> </tr> <tr> <td>const <a href="t-sal_uInt8.html">sal_uInt8</a> *</td> <td>pPredecessorUUID,</td> </tr> <tr> <td><a href="t-sal_Bool.html">sal_Bool</a></td> <td>bUseEthernetAddress );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Generates a new Version 4 (random number based) UUID (Universally Unique IDentifier). </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pTargetUUID</td> <td><pre>pointer to at least 16 bytes of memory. After the call it contains the newly generated uuid in network byte order. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pPredecessorUUID</td> <td><pre>ignored (was used when this function returned Version 1 instead of Version 4 UUIDs). </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">bUseEthernetAddress</td> <td><pre>ignored (was used when this function returned Version 1 instead of Version 4 UUIDs). </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <a href="#_top_" class="objchapter">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2008 Sun Microsystems, Inc.</p> </div> <!-- id="adc-cppref" --> </body> </html>