/******************************************************************************* *Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved. * *Redistribution and use in source and binary forms, with or without modification, are permitted provided *that the following conditions are met: *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the *following disclaimer. *2. Redistributions in binary form must reproduce the above copyright notice, *this list of conditions and the following disclaimer in the documentation and/or other materials provided *with the distribution. * *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE * * $FreeBSD$ * ********************************************************************************/ /******************************************************************************** * tmdmapi.h * * Abstract: This module contains function prototype of the Discovery * Module (DM) API callback for initiator. *******************************************************************************/ #ifndef TDDMAPI_H #define TDDMAPI_H osGLOBAL void tddmCacheFlush( dmRoot_t *dmRoot, void *tdMemHandle, void *virtPtr, bit32 length ); osGLOBAL void tddmCacheInvalidate( dmRoot_t *dmRoot, void *tdMemHandle, void *virtPtr, bit32 length ); osGLOBAL void tddmCachePreFlush( dmRoot_t *dmRoot, void *tdMemHandle, void *virtPtr, bit32 length ); osGLOBAL void tddmDiscoverCB( dmRoot_t *dmRoot, dmPortContext_t *dmPortContext, bit32 eventStatus ); osGLOBAL void tddmQueryDiscoveryCB( dmRoot_t *dmRoot, dmPortContext_t *dmPortContext, bit32 discType, bit32 discState ); osGLOBAL void tddmReportDevice( dmRoot_t *dmRoot, dmPortContext_t *dmPortContext, dmDeviceInfo_t *dmDeviceInfo, dmDeviceInfo_t *dmExpDeviceInfo, bit32 flag ); osGLOBAL bit8 tddmSATADeviceTypeDecode(bit8 * pSignature); osGLOBAL void tddmSingleThreadedEnter( dmRoot_t *dmRoot, bit32 syncLockId ); osGLOBAL void tddmSingleThreadedLeave( dmRoot_t *dmRoot, bit32 syncLockId ); osGLOBAL bit32 tddmGetTransportParam( dmRoot_t *dmRoot, char *key, char *subkey1, char *subkey2, char *subkey3, char *subkey4, char *subkey5, char *valueName, char *buffer, bit32 bufferLen, bit32 *lenReceived ); osGLOBAL bit32 tddmRotateQnumber( dmRoot_t *dmRoot, agsaDevHandle_t *agDevHandle ); #ifndef tddmLogDebugString GLOBAL void tddmLogDebugString( dmRoot_t *dmRoot, bit32 level, char *string, void *ptr1, void *ptr2, bit32 value1, bit32 value2 ); #endif #endif /* TDDMAPI_H */