<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title> Xilinx Driver common v1_00_a: xversion.h File Reference </title> <link href="../../../../../../../doc/usenglish/css/driver_api_doxygen.css" rel="stylesheet" type="text/css"> </head> <h3 class="PageHeader">Xilinx Processor IP Library</h3> <hl>Software Drivers</hl> <hr class="whs1"> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>xversion.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> This file contains the interface for the XVersion component. This component represents a version ID. It is encapsulated within a component so that it's type and implementation can change without affecting users of it.<p> The version is formatted as X.YYZ where X = 0 - 9, Y = 00 - 99, Z = a - z X is the major revision, YY is the minor revision, and Z is the compatability revision.<p> Packed versions are also utilized for the configuration ROM such that memory is minimized. A packed version consumes only 16 bits and is formatted as follows.<p> <pre> Revision Range Bit Positions</pre><p> <pre> Major Revision 0 - 9 Bits 15 - 12 Minor Revision 0 - 99 Bits 11 - 5 Compatability Revision a - z Bits 4 - 0</pre><p> <pre> MODIFICATION HISTORY:</pre><p> <pre> Ver Who Date Changes ----- ---- -------- ------------------------------------------------------- 1.00a xd 11/03/04 Improved support for doxygen. </pre> <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xversion_8h.html#83e7589d43e80a3c55f89d437bf72cee">XVersion_UnPack</a> (XVersion *InstancePtr, u16 PackedVersion)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xversion_8h.html#5cf6f72f47d99df8141526aa6e9090b2">XVersion_Pack</a> (XVersion *InstancePtr, u16 *PackedVersion)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xversion_8h.html#a60d242fb47a09b74d9273048938bc40">XVersion_IsEqual</a> (XVersion *InstancePtr, XVersion *VersionPtr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xversion_8h.html#5509d59e756d51585c81b132cae02935">XVersion_ToString</a> (XVersion *InstancePtr, char *StringPtr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xversion_8h.html#22fd522b3e13c6512573a164b1a41d6e">XVersion_FromString</a> (XVersion *InstancePtr, char *StringPtr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xversion_8h.html#c6dc2f6cf4c2da3f6588eef8387d3b71">XVersion_Copy</a> (XVersion *InstancePtr, XVersion *VersionPtr)</td></tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="c6dc2f6cf4c2da3f6588eef8387d3b71"></a><!-- doxytag: member="xversion.h::XVersion_Copy" ref="c6dc2f6cf4c2da3f6588eef8387d3b71" args="(XVersion *InstancePtr, XVersion *VersionPtr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XVersion_Copy </td> <td>(</td> <td class="paramtype">XVersion * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">XVersion * </td> <td class="paramname"> <em>VersionPtr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Copies the contents of a version to another version.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>points to the version which is the source of data for the copy operation. </td></tr> <tr><td valign="top"></td><td valign="top"><em>VersionPtr</em> </td><td>points to another version which is the destination of the copy operation.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd></dd></dl> None.<p> <dl compact><dt><b>Note:</b></dt><dd></dd></dl> None. </div> </div><p> <a class="anchor" name="22fd522b3e13c6512573a164b1a41d6e"></a><!-- doxytag: member="xversion.h::XVersion_FromString" ref="22fd522b3e13c6512573a164b1a41d6e" args="(XVersion *InstancePtr, char *StringPtr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XVersion_FromString </td> <td>(</td> <td class="paramtype">XVersion * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>StringPtr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Initializes a version from a null terminated string. Since the string may not be a format which is compatible with the version, an error could occur.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>points to the version which is to be initialized. </td></tr> <tr><td valign="top"></td><td valign="top"><em>StringPtr</em> </td><td>points to a null terminated string which will be converted to a version. The format of the string must match the version string format which is X.YYX where X = 0 - 9, YY = 00 - 99, Z = a - z.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd></dd></dl> A status, XST_SUCCESS, indicating the conversion was accomplished successfully, or XST_INVALID_VERSION indicating the version string format was not valid.<p> <dl compact><dt><b>Note:</b></dt><dd></dd></dl> None. </div> </div><p> <a class="anchor" name="a60d242fb47a09b74d9273048938bc40"></a><!-- doxytag: member="xversion.h::XVersion_IsEqual" ref="a60d242fb47a09b74d9273048938bc40" args="(XVersion *InstancePtr, XVersion *VersionPtr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XVersion_IsEqual </td> <td>(</td> <td class="paramtype">XVersion * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">XVersion * </td> <td class="paramname"> <em>VersionPtr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Determines if two versions are equal.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>points to the first version to be compared. </td></tr> <tr><td valign="top"></td><td valign="top"><em>VersionPtr</em> </td><td>points to a second version to be compared.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd></dd></dl> TRUE if the versions are equal, FALSE otherwise.<p> <dl compact><dt><b>Note:</b></dt><dd></dd></dl> None. </div> </div><p> <a class="anchor" name="5cf6f72f47d99df8141526aa6e9090b2"></a><!-- doxytag: member="xversion.h::XVersion_Pack" ref="5cf6f72f47d99df8141526aa6e9090b2" args="(XVersion *InstancePtr, u16 *PackedVersion)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XVersion_Pack </td> <td>(</td> <td class="paramtype">XVersion * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u16 * </td> <td class="paramname"> <em>PackedVersionPtr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Packs a version into the specified packed version. Versions are packed into the configuration ROM to reduce the amount storage.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>points to the version to pack. </td></tr> <tr><td valign="top"></td><td valign="top"><em>PackedVersionPtr</em> </td><td>points to the packed version which will receive the new packed version.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd></dd></dl> A status, XST_SUCCESS, indicating the packing was accomplished successfully, or an error, XST_INVALID_VERSION, indicating the specified input version was not valid such that the pack did not occur <br> <br> The packed version pointed to by PackedVersionPtr is modified with the new packed version if the status indicates success.<p> <dl compact><dt><b>Note:</b></dt><dd></dd></dl> None. </div> </div><p> <a class="anchor" name="5509d59e756d51585c81b132cae02935"></a><!-- doxytag: member="xversion.h::XVersion_ToString" ref="5509d59e756d51585c81b132cae02935" args="(XVersion *InstancePtr, char *StringPtr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XVersion_ToString </td> <td>(</td> <td class="paramtype">XVersion * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>StringPtr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts a version to a null terminated string.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>points to the version to convert. </td></tr> <tr><td valign="top"></td><td valign="top"><em>StringPtr</em> </td><td>points to the string which will be the result of the conversion. This does not need to point to a null terminated string as an input, but must point to storage which is an adequate amount to hold the result string.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd></dd></dl> The null terminated string is inserted at the location pointed to by StringPtr if the status indicates success.<p> <dl compact><dt><b>Note:</b></dt><dd></dd></dl> It is necessary for the caller to have already allocated the storage to contain the string. The amount of memory necessary for the string is specified in the version header file. </div> </div><p> <a class="anchor" name="83e7589d43e80a3c55f89d437bf72cee"></a><!-- doxytag: member="xversion.h::XVersion_UnPack" ref="83e7589d43e80a3c55f89d437bf72cee" args="(XVersion *InstancePtr, u16 PackedVersion)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XVersion_UnPack </td> <td>(</td> <td class="paramtype">XVersion * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u16 </td> <td class="paramname"> <em>PackedVersion</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Unpacks a packed version into the specified version. Versions are packed into the configuration ROM to reduce the amount storage. A packed version is a binary format as oppossed to a non-packed version which is implemented as a string.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>points to the version to unpack the packed version into. </td></tr> <tr><td valign="top"></td><td valign="top"><em>PackedVersion</em> </td><td>contains the packed version to unpack.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl> <dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div><p> <p class="Copyright"> Copyright © 1995-2011 Xilinx, Inc. All rights reserved. </p> </body> </html>