Files @ d0a14f973771
Branch filter:

Location: vmkdrivers/BLD/build/HEADERS/vmkapi-current-all-public/vmkernel64/release/scsi/vmkapi_scsi_vmware.h

unknown
ESXi-5.0-U1
/***************************************************************************
 * Copyright 2009 VMware, Inc.  All rights reserved.
 ***************************************************************************/

/*
 * @VMKAPIMOD_LICENSE@
 */

/*
 * vmkapi_scsi_vmware.h --
 *
 *	Defines some of the VMware vendor specific SCSI interfaces
 *  
 */

#ifndef _VMKAPI_SCSI_VMWARE_H_
#define _VMKAPI_SCSI_VMWARE_H_

#ifndef VMK_HEADER_INCLUDED_FROM_VMKAPI_H
#error This vmkapi file should never be included directly but only via vmkapi.h
#endif

#include "scsi/vmkapi_scsi.h"

/*
 ***********************************************************************
 * vmk_ScsiSetATSCmdStatus --                                     */ /**
 *
 * \ingroup SCSI
 * \brief Set a command's ATS status
 *
 * On I/O completion, set the command's ATS status.
 *
 * \note This function will not block.
 *
 * \note Spin locks can be held while calling into this function
 *
 * \param[in] vmkCmd     Scsi command whose status to set
 * \param[in] miscompare Boolean to indicate whether the command's
 *                       status should be set to 
 *                       VMK_SCSI_PLUGIN_ATS_MISCOMPARE
 *
 * \pre if vmkCmd does not already indicate that the command failed with a
 *      check condition, this function is a no-op.
 *
 ***********************************************************************
 */
static inline void
vmk_ScsiSetATSCmdStatus(vmk_ScsiCommand *vmkCmd, vmk_Bool miscompare)
{
   if (vmk_ScsiCmdStatusIsCheck(vmkCmd->status)) {
      vmkCmd->status.plugin = miscompare ? VMK_SCSI_PLUGIN_ATS_MISCOMPARE :
         VMK_SCSI_PLUGIN_GOOD;
   }
}

#endif //_VMKAPI_SCSI_VMWARE_H_