⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scsi2lib.html

📁 Vxworks API操作系统和驱动程序设计API。压缩的HTML文件
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<pre>int scsiIdentMsgBuild    (    UINT8 *         msg,    SCSI_PHYS_DEV * pScsiPhysDev,    SCSI_TAG_TYPE   tagType,    UINT            tagNumber    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine builds an identification message in the caller's buffer,based on the specified physical device, tag type, and tag number.<p>If the target device does not support messages, there is no identificationmessage to build.<p>Otherwise, the identification message consists of an IDENTIFY byte plus anoptional QUEUE TAG message (two bytes), depending on the type of tag used.<p></blockquote><h4>NOTE</h4><blockquote><p><p>This function is not intended for use by application programs.<p></blockquote><h4>RETURNS</h4><blockquote><p>The length of the resulting identification message in bytes or -1 for ERROR.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiIdentMsgParse"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiIdentMsgParse(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiIdentMsgParse(&nbsp;)</strong> - parse an identification message</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>SCSI_IDENT_STATUS scsiIdentMsgParse    (    SCSI_CTRL *       pScsiCtrl,    UINT8 *           msg,    int               msgLength,    SCSI_PHYS_DEV * * ppScsiPhysDev,    SCSI_TAG *        pTagNum    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine scans a (possibly incomplete) identification message,validating it in the process.  If there is an IDENTIFY message, itidentifies the corresponding physical device.<p>If the physical device is currently processing an untagged (ITL) nexus,identification is complete. Otherwise, the identification is complete onlyif there is a complete QUEUE TAG message.<p>If there is no physical device corresponding to the IDENTIFY message, orif the device is processing tagged (ITLQ) nexuses and the tag does notcorrespond to an active thread (it may have been aborted by a timeout, forexample), then the identification sequence fails.<p>The caller's buffers for physical device and tag number (the resultsof the identification process) are always updated.  This is required bythe thread event handler (see <b><a href="./scsiMgrLib.html#scsiMgrThreadEvent">scsiMgrThreadEvent</a>(&nbsp;)</b>.)<p></blockquote><h4>NOTE</h4><blockquote><p>This function is not intended for use by application programs.<p></blockquote><h4>RETURNS</h4><blockquote><p>The identification status (incomplete, complete, or rejected).</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiMsgOutComplete"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiMsgOutComplete(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiMsgOutComplete(&nbsp;)</strong> - perform post-processing after a SCSI message is sent</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS scsiMsgOutComplete    (    SCSI_CTRL *   pScsiCtrl,  /* ptr to SCSI controller info */    SCSI_THREAD * pThread     /* ptr to thread info */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine parses the complete message and takes any necessary action.<p></blockquote><h4>NOTE</h4><blockquote><p><p>This function is intended for use only by SCSI controller drivers.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if the message is not supported.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiMsgOutReject"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiMsgOutReject(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiMsgOutReject(&nbsp;)</strong> - perform post-processing when an outgoing message is rejected</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void scsiMsgOutReject    (    SCSI_CTRL *   pScsiCtrl,  /* ptr to SCSI controller info */    SCSI_THREAD * pThread     /* ptr to thread info */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p></blockquote><h4>NOTE</h4><blockquote><p><p>This function is intended for use only by SCSI controller drivers.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if the message is not supported.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiMsgInComplete"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiMsgInComplete(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiMsgInComplete(&nbsp;)</strong> - handle a complete SCSI message received from the target</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS scsiMsgInComplete    (    SCSI_CTRL *   pScsiCtrl,  /* ptr to SCSI controller info */    SCSI_THREAD * pThread     /* ptr to thread info */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine parses the complete message and takes any necessary action,which may include setting up an outgoing message in reply.  If the messageis not understood, the routine rejects it and returns an ERROR status.<p></blockquote><h4>NOTE</h4><blockquote><p><p>This function is intended for use only by SCSI controller drivers.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if the message is not supported.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiSyncXferNegotiate"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiSyncXferNegotiate(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiSyncXferNegotiate(&nbsp;)</strong> - initiate or continue negotiating transfer parameters</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void scsiSyncXferNegotiate    (    SCSI_CTRL *          pScsiCtrl,   /* ptr to SCSI controller info */    SCSI_TARGET *        pScsiTarget, /* ptr to SCSI target info */    SCSI_SYNC_XFER_EVENT eventType    /* tells what has just happened */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine manages negotiation by means of a finite-state machine whichis driven by "significant events" such as incoming and outgoing messages.Each SCSI target has its own independent state machine.<p></blockquote><h4>NOTE</h4><blockquote><p><p>If the controller does not support synchronous transfer or if thetarget's maximum REQ/ACK offset is zero, attempts to initiate a round ofnegotiation are ignored.<p>This function is intended for use only by SCSI controller drivers.<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiWideXferNegotiate"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiWideXferNegotiate(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiWideXferNegotiate(&nbsp;)</strong> - initiate or continue negotiating wide parameters</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void scsiWideXferNegotiate    (    SCSI_CTRL *          pScsiCtrl,   /* ptr to SCSI controller info */    SCSI_TARGET *        pScsiTarget, /* ptr to SCSI target info */    SCSI_WIDE_XFER_EVENT eventType    /* tells what has just happened */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine manages negotiation means of a finite-state machine which isdriven by "significant events" such as incoming and outgoing messages.Each SCSI target has its own independent state machine.<p></blockquote><h4>NOTE</h4><blockquote><p><p>If the controller does not support wide transfers or thetarget's transfer width is zero, attempts to initiate a round ofnegotiation are ignored; this is because zero is the default narrow transfer.<p>This function is intended for use only by SCSI controller drivers.<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiThreadInit"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiThreadInit(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiThreadInit(&nbsp;)</strong> - perform generic SCSI thread initialization</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS scsiThreadInit    (    SCSI_THREAD * pThread    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine initializes the controller-independent parts of a thread structure, which are specific to the SCSI manager.<p></blockquote><h4>NOTE</h4><blockquote><p><p>This function should not be called by application programs.  It is intendedto be used by SCSI controller drivers.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if the thread cannot be initialized.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiCacheSnoopEnable"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiCacheSnoopEnable(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiCacheSnoopEnable(&nbsp;)</strong> - inform SCSI that hardware snooping of caches is enabled</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void scsiCacheSnoopEnable    (    SCSI_CTRL * pScsiCtrl     /* pointer to a SCSI_CTRL structure */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine informs the SCSI library that hardware snooping is enabledand that <b><a href="./scsi2Lib.html#top">scsi2Lib</a></b> need not execute any cache coherency code.In order to make <b><a href="./scsi2Lib.html#top">scsi2Lib</a></b> aware that hardwaresnooping is enabled, this routine should be called after all SCSI-2initializations, especially after <b>scsi2CtrlInit(&nbsp;)</b>.<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b><hr><a name="scsiCacheSnoopDisable"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>scsiCacheSnoopDisable(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>scsiCacheSnoopDisable(&nbsp;)</strong> - inform SCSI that hardware snooping of caches is disabled</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void scsiCacheSnoopDisable    (    SCSI_CTRL * pScsiCtrl     /* pointer to a SCSI_CTRL structure */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine informs the SCSI library that hardware snooping is disabledand that <b><a href="./scsi2Lib.html#top">scsi2Lib</a></b> should execute any neccessary cache coherency code.In order to make <b><a href="./scsi2Lib.html#top">scsi2Lib</a></b> aware that hardwaresnooping is disabled, this routine should be called after all SCSI-2initializations, especially after <b>scsi2CtrlInit(&nbsp;)</b>.<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./scsi2Lib.html#top">scsi2Lib</a></b></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -