📄 selectlib.html
字号:
FIOSELECT function installs a wake-up node in a device's wake-up list(using <b><a href="./selectLib.html#selNodeAdd">selNodeAdd</a>( )</b>) and checks to make sure the device is ready, thisroutine ensures that the <b><a href="./selectLib.html#select">select</a>( )</b> call does not pend.<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./selectLib.html#top">selectLib</a></b><hr><a name="selWakeupAll"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>selWakeupAll( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>selWakeupAll( )</strong> - wake up all tasks in a <b><a href="./selectLib.html#select">select</a>( )</b> wake-up list</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void selWakeupAll ( SEL_WAKEUP_LIST * pWakeupList, /* list of tasks to wake up */ SELECT_TYPE type /* readers (SELREAD) or writers (SELWRITE) */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine wakes up all tasks pended in <b><a href="./selectLib.html#select">select</a>( )</b> that are waiting fora device; it is called by a driver when the device becomes ready. The<i>type</i> parameter specifies the task to be awakened, either reader tasks(SELREAD) or writer tasks (SELWRITE).<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./selectLib.html#top">selectLib</a></b><hr><a name="selNodeAdd"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>selNodeAdd( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>selNodeAdd( )</strong> - add a wake-up node to a <b><a href="./selectLib.html#select">select</a>( )</b> wake-up list</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS selNodeAdd ( SEL_WAKEUP_LIST * pWakeupList, /* list of tasks to wake up */ SEL_WAKEUP_NODE * pWakeupNode /* node to add to list */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine adds a wake-up node to a device's wake-up list. It is typically called from a driver's FIOSELECT function.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if memory is insufficient.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./selectLib.html#top">selectLib</a></b><hr><a name="selNodeDelete"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>selNodeDelete( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>selNodeDelete( )</strong> - find and delete a node from a <b><a href="./selectLib.html#select">select</a>( )</b> wake-up list</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS selNodeDelete ( SEL_WAKEUP_LIST * pWakeupList, /* list of tasks to wake up */ SEL_WAKEUP_NODE * pWakeupNode /* node to delete from list */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine deletes a specified wake-up node from a specified wake-uplist. Typically, it is called by a driver's FIOUNSELECT function.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if the node is not found in the wake-up list.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./selectLib.html#top">selectLib</a></b><hr><a name="selWakeupListInit"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>selWakeupListInit( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>selWakeupListInit( )</strong> - initialize a <b><a href="./selectLib.html#select">select</a>( )</b> wake-up list</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void selWakeupListInit ( SEL_WAKEUP_LIST * pWakeupList /* wake-up list to initialize */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine should be called in a device's create routine toinitialize the <b>SEL_WAKEUP_LIST</b> structure.<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./selectLib.html#top">selectLib</a></b><hr><a name="selWakeupListTerm"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>selWakeupListTerm( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>selWakeupListTerm( )</strong> - terminate a <b><a href="./selectLib.html#select">select</a>( )</b> wake-up list</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void selWakeupListTerm ( SEL_WAKEUP_LIST * pWakeupList /* wake-up list to terminate */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine should be called in a device's terminate routine toterminate the <b>SEL_WAKEUP_LIST</b> structure.<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./selectLib.html#top">selectLib</a></b><hr><a name="selWakeupListLen"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>selWakeupListLen( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>selWakeupListLen( )</strong> - get the number of nodes in a <b><a href="./selectLib.html#select">select</a>( )</b> wake-up list</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>int selWakeupListLen ( SEL_WAKEUP_LIST * pWakeupList /* list of tasks to wake up */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine returns the number of nodes in a specified <b>SEL_WAKEUP_LIST</b>.It can be used by a driver to determine if any tasks are currentlypended in <b><a href="./selectLib.html#select">select</a>( )</b> on this device, and whether these tasks need to beactivated with <b><a href="./selectLib.html#selWakeupAll">selWakeupAll</a>( )</b>.<p></blockquote><h4>RETURNS</h4><blockquote><p><p>The number of nodes currently in a <b><a href="./selectLib.html#select">select</a>( )</b> wake-up list, or ERROR.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./selectLib.html#top">selectLib</a></b><hr><a name="selWakeupType"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>selWakeupType( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>selWakeupType( )</strong> - get the type of a <b><a href="./selectLib.html#select">select</a>( )</b> wake-up node</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>SELECT_TYPE selWakeupType ( SEL_WAKEUP_NODE * pWakeupNode /* node to get type of */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine returns the type of a specified <b>SEL_WAKEUP_NODE</b>.It is typically used in a device's FIOSELECT function to determineif the device is being selected for read or write operations.<p></blockquote><h4>RETURNS</h4><blockquote><p>SELREAD (read operation) or SELWRITE (write operation).</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./selectLib.html#top">selectLib</a></b></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -