1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
/*******************************************************************************
**
*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$
*
********************************************************************************/
/********************************************************************************
* dmapi.h
*
* Abstract: This module contains function prototype of the Discovery
* Module (DM) API for initiator.
*******************************************************************************/
#ifndef DMAPI_H
#define DMAPI_H
#include <dev/pms/RefTisa/discovery/api/dm.h>
#include <dev/pms/RefTisa/sallsdk/api/sa.h>
osGLOBAL bit32 dmCreatePort(
dmRoot_t *dmRoot,
dmPortContext_t *dmPortContext,
dmPortInfo_t *dmPortInfo);
osGLOBAL bit32 dmDestroyPort(
dmRoot_t *dmRoot,
dmPortContext_t *dmPortContext,
dmPortInfo_t *dmPortInfo);
osGLOBAL bit32 dmRegisterDevice(
dmRoot_t *dmRoot,
dmPortContext_t *dmPortContext,
dmDeviceInfo_t *dmDeviceInfo,
agsaDevHandle_t *agDevHandle);
osGLOBAL bit32 dmDiscover(
dmRoot_t *dmRoot,
dmPortContext_t *dmPortContext,
bit32 option);
osGLOBAL void dmGetRequirements(
dmRoot_t *dmRoot,
dmSwConfig_t *swConfig,
dmMemoryRequirement_t *memoryRequirement,
bit32 *usecsPerTick,
bit32 *maxNumLocks);
osGLOBAL void dmNotifyBC(
dmRoot_t *dmRoot,
dmPortContext_t *dmPortContext,
bit32 type);
osGLOBAL bit32 dmQueryDiscovery(
dmRoot_t *dmRoot,
dmPortContext_t *dmPortContext);
osGLOBAL bit32
dmResetFailedDiscovery(
dmRoot_t *dmRoot,
dmPortContext_t *dmPortContext);
osGLOBAL bit32 dmInitialize(
dmRoot_t *dmRoot,
agsaRoot_t *agRoot,
dmMemoryRequirement_t *memoryAllocated,
dmSwConfig_t *swConfig,
bit32 usecsPerTick );
osGLOBAL void dmTimerTick ( dmRoot_t *dmRoot );
#endif /* DMAPI_H */
|