<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title> Xilinx Driver mutex v4_0: xmutex.h File Reference </title> <link href="doxygen_kalyanidocs/doc/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.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="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>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>xmutex.h File Reference</h1><code>#include "xstatus.h"</code><br/> <code>#include "<a class="el" href="xmutex__hw_8h.html">xmutex_hw.h</a>"</code><br/> <code>#include "xil_types.h"</code><br/> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_mutex___config.html">XMutex_Config</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_mutex.html">XMutex</a></td></tr> <tr><td colspan="2"><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a12f26d74626ae4179bad889dc5a3e6c9">XMUTEX_H</a></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a250cfb7229128feb084799a476d423d6">XMutex_CfgInitialize</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr, <a class="el" href="struct_x_mutex___config.html">XMutex_Config</a> *ConfigPtr, u32 EffectiveAddress)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a1255fbeea64f519d8def63e542ce8703">XMutex_Lock</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr, u8 MutexNumber)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#af1857cffa94ba8b3bdf491f1a0096340">XMutex_Trylock</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr, u8 MutexNumber)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a82790dd21650e2b03e2c0a0f69a605d3">XMutex_Unlock</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr, u8 MutexNumber)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a37302270d3c1c86dc0bffdfc7043b902">XMutex_IsLocked</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr, u8 MutexNumber)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a0fcbb23b06dc9fb716e3812696321f66">XMutex_GetStatus</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr, u8 MutexNumber, u32 *Locked, u32 *Owner)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#ad7d5c5cd3b24ffee6dcc093b98c8546a">XMutex_GetUser</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr, u8 MutexNumber, u32 *User)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a941e13d2534884adf4926f05bae3966e">XMutex_SetUser</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr, u8 MutexNumber, u32 User)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_mutex___config.html">XMutex_Config</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a9b36fec5e8de70e5338132b29709f76a">XMutex_LookupConfig</a> (u16 DeviceId)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xmutex_8h.html#a1599a86dd180f3bd789a2fc472e9aa29">XMutex_SelfTest</a> (<a class="el" href="struct_x_mutex.html">XMutex</a> *InstancePtr)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a12f26d74626ae4179bad889dc5a3e6c9"></a><!-- doxytag: member="xmutex.h::XMUTEX_H" ref="a12f26d74626ae4179bad889dc5a3e6c9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XMUTEX_H</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a250cfb7229128feb084799a476d423d6"></a><!-- doxytag: member="xmutex.h::XMutex_CfgInitialize" ref="a250cfb7229128feb084799a476d423d6" args="(XMutex *InstancePtr, XMutex_Config *ConfigPtr, u32 EffectiveAddress)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XMutex_CfgInitialize </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="struct_x_mutex___config.html">XMutex_Config</a> * </td> <td class="paramname"> <em>ConfigPtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u32 </td> <td class="paramname"> <em>EffectiveAddress</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Initializes a specific Mutex instance/driver.</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>ConfigPtr</em> </td><td>is the device configuration structure containing required HW build data. </td></tr> <tr><td valign="top"></td><td valign="top"><em>EffectiveAddress</em> </td><td>is the Physical address of the hardware in a Virtual Memory operating system environment. It is the Base Address in a stand alone environment.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XST_SUCCESS if initialization was successful</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> <a class="anchor" id="a0fcbb23b06dc9fb716e3812696321f66"></a><!-- doxytag: member="xmutex.h::XMutex_GetStatus" ref="a0fcbb23b06dc9fb716e3812696321f66" args="(XMutex *InstancePtr, u8 MutexNumber, u32 *Locked, u32 *Owner)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XMutex_GetStatus </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>MutexNumber</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u32 * </td> <td class="paramname"> <em>Locked</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u32 * </td> <td class="paramname"> <em>Owner</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the current status of a Mutex lock within a Mutex device.</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>MutexNumber</em> </td><td>is the specific Mutex lock within the device to operate on. Each device may contain multiple Mutex locks. The Mutex number is a zero based number with a range of 0 - (InstancePtr->Config.NumMutex - 1). </td></tr> <tr><td valign="top"></td><td valign="top"><em>Locked</em> </td><td>is a pointer where the current lock status is stored. Sets memory pointed to by 'Locked' to 1 if the Mutex is locked and 0 if it is unlocked. </td></tr> <tr><td valign="top"></td><td valign="top"><em>Owner</em> </td><td>is a pointer where the current owner status is stored. . If the Mutex is locked, the memory pointed to by 'Owner' is updated to reflect the CPU ID that has currently locked this Mutex.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> <a class="anchor" id="ad7d5c5cd3b24ffee6dcc093b98c8546a"></a><!-- doxytag: member="xmutex.h::XMutex_GetUser" ref="ad7d5c5cd3b24ffee6dcc093b98c8546a" args="(XMutex *InstancePtr, u8 MutexNumber, u32 *User)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XMutex_GetUser </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>MutexNumber</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u32 * </td> <td class="paramname"> <em>User</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the USER register of a Mutex lock within a Mutex device.</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>MutexNumber</em> </td><td>is the specific Mutex lock within the device to operate on. Each device may contain multiple Mutex locks. The Mutex number is a zero based number with a range of 0 - (InstancePtr->Config.NumMutex - 1). </td></tr> <tr><td valign="top"></td><td valign="top"><em>User</em> </td><td>is a pointer to an u32 where the current user register value is stored by this function. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XST_SUCCESS if successful. Memory pointed to by User is updated to reflect the contents of the user register.</li> <li>XST_NO_FEATURE if the Mutex was not configured with a USER register.</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> <a class="anchor" id="a37302270d3c1c86dc0bffdfc7043b902"></a><!-- doxytag: member="xmutex.h::XMutex_IsLocked" ref="a37302270d3c1c86dc0bffdfc7043b902" args="(XMutex *InstancePtr, u8 MutexNumber)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XMutex_IsLocked </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>MutexNumber</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the current lock state of a Mutex lock within a Mutex device.</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>MutexNumber</em> </td><td>is the specific Mutex lock within the device to operate on. Each device may contain multiple Mutex locks. The Mutex number is a zero based number with a range of 0 - (InstancePtr->Config.NumMutex - 1).</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>TRUE if locked</li> <li>FALSE if unlocked</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> <a class="anchor" id="a1255fbeea64f519d8def63e542ce8703"></a><!-- doxytag: member="xmutex.h::XMutex_Lock" ref="a1255fbeea64f519d8def63e542ce8703" args="(XMutex *InstancePtr, u8 MutexNumber)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XMutex_Lock </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>MutexNumber</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Locks a particular Mutex lock within a Mutex device. Call blocks till the Mutex is locked.</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>MutexNumber</em> </td><td>is the specific Mutex lock within the device to operate on. Each device may contain multiple Mutex locks. The Mutex number is a zero based number with a range of 0 - (InstancePtr->Config.NumMutex - 1).</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>None</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd><ul> <li>XMutex_Trylock is a blocking call. This call blocks until the user gets the lock.</li> <li>Use XMutex_Trylock for a Non-Blocking call. The user gets the lock if it is available and returns immediately if the lock is not available. </li> </ul> </dd></dl> </div> </div> <a class="anchor" id="a9b36fec5e8de70e5338132b29709f76a"></a><!-- doxytag: member="xmutex.h::XMutex_LookupConfig" ref="a9b36fec5e8de70e5338132b29709f76a" args="(u16 DeviceId)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_x_mutex___config.html">XMutex_Config</a>* XMutex_LookupConfig </td> <td>(</td> <td class="paramtype">u16 </td> <td class="paramname"> <em>DeviceId</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a1599a86dd180f3bd789a2fc472e9aa29"></a><!-- doxytag: member="xmutex.h::XMutex_SelfTest" ref="a1599a86dd180f3bd789a2fc472e9aa29" args="(XMutex *InstancePtr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XMutex_SelfTest </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Selftest a particular Mutex hardware core.</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XST_SUCCESS if test was successful.</li> <li>XST_FAILURE if test was not successful.</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd></dd></dl> <p>This test is destructive. It will fail if the Mutex is currently being used. This is also a blocking call, if there is another process which has the Mutex, the first _lock will hand the test until the other process releases it. </p> </div> </div> <a class="anchor" id="a941e13d2534884adf4926f05bae3966e"></a><!-- doxytag: member="xmutex.h::XMutex_SetUser" ref="a941e13d2534884adf4926f05bae3966e" args="(XMutex *InstancePtr, u8 MutexNumber, u32 User)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XMutex_SetUser </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>MutexNumber</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u32 </td> <td class="paramname"> <em>User</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the USER register of a Mutex lock within a Mutex device.</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>MutexNumber</em> </td><td>is the specific Mutex lock within the device to operate on. Each device may contain multiple Mutex locks. The Mutex number is a zero based number with a range of 0 - (InstancePtr->Config.NumMutex - 1). </td></tr> <tr><td valign="top"></td><td valign="top"><em>User</em> </td><td>is the value to update the USER register with.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XST_SUCCESS if the USER register is written with the given value .</li> <li>XST_NO_FEATURE if the Mutex was not configured with a USER register.</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> <a class="anchor" id="af1857cffa94ba8b3bdf491f1a0096340"></a><!-- doxytag: member="xmutex.h::XMutex_Trylock" ref="af1857cffa94ba8b3bdf491f1a0096340" args="(XMutex *InstancePtr, u8 MutexNumber)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XMutex_Trylock </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>MutexNumber</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Locks a particular Mutex lock within a Mutex device. Call returns immediately if the Mutex is already locked (This is Non-Blocking call).</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>MutexNumber</em> </td><td>is the specific Mutex lock within the device to operate on. Each device may contain multiple Mutex locks. The Mutex number is a zero based number with a range of 0 - (InstancePtr->Config.NumMutex - 1).</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XST_SUCCESS if locking was successful.</li> <li>XST_DEVICE_BUSY if the Mutex was found to be already locked</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd><ul> <li>This is Non-Blocking call, the user gets the lock if it is available else XST_DEVICE_BUSY is returned.</li> <li>Use XMutex_Lock if you need to block until a lock is obtained. </li> </ul> </dd></dl> </div> </div> <a class="anchor" id="a82790dd21650e2b03e2c0a0f69a605d3"></a><!-- doxytag: member="xmutex.h::XMutex_Unlock" ref="a82790dd21650e2b03e2c0a0f69a605d3" args="(XMutex *InstancePtr, u8 MutexNumber)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XMutex_Unlock </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_mutex.html">XMutex</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>MutexNumber</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Unlocks a particular Mutex lock within a Mutex device.</p> <dl><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>is a pointer to the <a class="el" href="struct_x_mutex.html">XMutex</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>MutexNumber</em> </td><td>is the specific Mutex lock within the device to operate on. Each device may contain multiple Mutex locks. The Mutex number is a zero based number with a range of 0 - (InstancePtr->Config.NumMutex - 1).</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl> <ul> <li>XST_SUCCESS if locking was successful.</li> <li>XST_FAILURE if the Mutex was locked by process with different ID.</li> </ul> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> </div> <p class="Copyright"> Copyright © 1995-2014 Xilinx, Inc. All rights reserved. </p> </body> </html>