]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - sys/dev/pms/RefTisa/discovery/api/dmapi.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / sys / dev / pms / RefTisa / discovery / api / dmapi.h
1 /*******************************************************************************
2 **
3 *Copyright (c) 2014 PMC-Sierra, Inc.  All rights reserved. 
4 *
5 *Redistribution and use in source and binary forms, with or without modification, are permitted provided 
6 *that the following conditions are met: 
7 *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
8 *following disclaimer. 
9 *2. Redistributions in binary form must reproduce the above copyright notice, 
10 *this list of conditions and the following disclaimer in the documentation and/or other materials provided
11 *with the distribution. 
12 *
13 *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 
14 *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
15 *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
16 *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
17 *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
18 *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
19 *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
20 *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
21 **
22 * $FreeBSD$
23 *
24 ********************************************************************************/
25 /********************************************************************************
26 *   dmapi.h 
27 *
28 *   Abstract:   This module contains function prototype of the Discovery
29 *               Module (DM) API for initiator.
30 *******************************************************************************/
31
32 #ifndef DMAPI_H
33 #define DMAPI_H
34
35 #include <dev/pms/RefTisa/discovery/api/dm.h>
36 #include <dev/pms/RefTisa/sallsdk/api/sa.h>
37
38 osGLOBAL bit32  dmCreatePort(  
39        dmRoot_t        *dmRoot,
40        dmPortContext_t *dmPortContext,
41        dmPortInfo_t    *dmPortInfo);
42
43 osGLOBAL bit32  dmDestroyPort(  
44        dmRoot_t        *dmRoot,
45        dmPortContext_t *dmPortContext,
46        dmPortInfo_t    *dmPortInfo);
47
48 osGLOBAL bit32  dmRegisterDevice(  
49        dmRoot_t        *dmRoot,
50        dmPortContext_t *dmPortContext,
51        dmDeviceInfo_t  *dmDeviceInfo,
52        agsaDevHandle_t *agDevHandle);
53
54 osGLOBAL bit32  dmDiscover(  
55        dmRoot_t        *dmRoot,
56        dmPortContext_t *dmPortContext,
57        bit32            option);
58
59 osGLOBAL void dmGetRequirements(
60        dmRoot_t              *dmRoot,
61        dmSwConfig_t          *swConfig,
62        dmMemoryRequirement_t *memoryRequirement,
63        bit32                 *usecsPerTick,
64        bit32                 *maxNumLocks);
65
66 osGLOBAL void dmNotifyBC(
67        dmRoot_t        *dmRoot,
68        dmPortContext_t *dmPortContext,
69        bit32            type);
70
71 osGLOBAL bit32  dmQueryDiscovery(  
72        dmRoot_t        *dmRoot,
73        dmPortContext_t *dmPortContext);
74        
75 osGLOBAL bit32  
76 dmResetFailedDiscovery(  
77                  dmRoot_t               *dmRoot,
78                  dmPortContext_t        *dmPortContext);
79
80 osGLOBAL bit32  dmInitialize(
81        dmRoot_t             *dmRoot,
82        agsaRoot_t           *agRoot,
83        dmMemoryRequirement_t *memoryAllocated,
84        dmSwConfig_t          *swConfig,
85        bit32                 usecsPerTick );
86
87 osGLOBAL void   dmTimerTick ( dmRoot_t  *dmRoot );
88
89 #endif  /* DMAPI_H */