
Added initial support Xilinx Embedded Software. Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
297 lines
14 KiB
HTML
297 lines
14 KiB
HTML
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>
|
|
Xilinx Driver common v1_00_a: xversion.c 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.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
This file contains the implementation of 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_8c.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_8c.html#c899b60e44960582459c9b83e1e68095">XVersion_Pack</a> (XVersion *InstancePtr, u16 *PackedVersionPtr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xversion_8c.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_8c.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_8c.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_8c.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.c::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.c::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.c::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="c899b60e44960582459c9b83e1e68095"></a><!-- doxytag: member="xversion.c::XVersion_Pack" ref="c899b60e44960582459c9b83e1e68095" args="(XVersion *InstancePtr, u16 *PackedVersionPtr)" -->
|
|
<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.c::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.c::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>
|
|
|