xref: /freebsd/sys/dev/pms/RefTisa/tisa/sassata/common/tdproto.h (revision 2ff63af9b88c7413b7d71715b5532625752a248e)
1*4e1bc9a0SAchim Leubner /*******************************************************************************
2*4e1bc9a0SAchim Leubner *Copyright (c) 2014 PMC-Sierra, Inc.  All rights reserved.
3*4e1bc9a0SAchim Leubner *
4*4e1bc9a0SAchim Leubner *Redistribution and use in source and binary forms, with or without modification, are permitted provided
5*4e1bc9a0SAchim Leubner *that the following conditions are met:
6*4e1bc9a0SAchim Leubner *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
7*4e1bc9a0SAchim Leubner *following disclaimer.
8*4e1bc9a0SAchim Leubner *2. Redistributions in binary form must reproduce the above copyright notice,
9*4e1bc9a0SAchim Leubner *this list of conditions and the following disclaimer in the documentation and/or other materials provided
10*4e1bc9a0SAchim Leubner *with the distribution.
11*4e1bc9a0SAchim Leubner *
12*4e1bc9a0SAchim Leubner *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
13*4e1bc9a0SAchim Leubner *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14*4e1bc9a0SAchim Leubner *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
15*4e1bc9a0SAchim Leubner *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16*4e1bc9a0SAchim Leubner *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
17*4e1bc9a0SAchim Leubner *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18*4e1bc9a0SAchim Leubner *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19*4e1bc9a0SAchim Leubner *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20*4e1bc9a0SAchim Leubner *
21*4e1bc9a0SAchim Leubner *
22*4e1bc9a0SAchim Leubner ********************************************************************************/
23*4e1bc9a0SAchim Leubner /*******************************************************************************/
24*4e1bc9a0SAchim Leubner /** \file
25*4e1bc9a0SAchim Leubner  *
26*4e1bc9a0SAchim Leubner  * function definitions used in SAS/SATA TD layer
27*4e1bc9a0SAchim Leubner  *
28*4e1bc9a0SAchim Leubner  */
29*4e1bc9a0SAchim Leubner 
30*4e1bc9a0SAchim Leubner #ifndef __TDPROTO_H__
31*4e1bc9a0SAchim Leubner #define __TDPROTO_H__
32*4e1bc9a0SAchim Leubner 
33*4e1bc9a0SAchim Leubner #ifdef FDS_DM
34*4e1bc9a0SAchim Leubner #include <dev/pms/RefTisa/discovery/api/dm.h>
35*4e1bc9a0SAchim Leubner #endif
36*4e1bc9a0SAchim Leubner 
37*4e1bc9a0SAchim Leubner /*****************************************************************************
38*4e1bc9a0SAchim Leubner *
39*4e1bc9a0SAchim Leubner * SA SHARED PROTOTYPES
40*4e1bc9a0SAchim Leubner *
41*4e1bc9a0SAchim Leubner *****************************************************************************/
42*4e1bc9a0SAchim Leubner 
43*4e1bc9a0SAchim Leubner osGLOBAL void
44*4e1bc9a0SAchim Leubner tdsaQueueConfigInit(
45*4e1bc9a0SAchim Leubner              tiRoot_t *tiRoot
46*4e1bc9a0SAchim Leubner              );
47*4e1bc9a0SAchim Leubner 
48*4e1bc9a0SAchim Leubner osGLOBAL void
49*4e1bc9a0SAchim Leubner tdsaEsglInit(
50*4e1bc9a0SAchim Leubner              tiRoot_t *tiRoot
51*4e1bc9a0SAchim Leubner              );
52*4e1bc9a0SAchim Leubner 
53*4e1bc9a0SAchim Leubner osGLOBAL void
54*4e1bc9a0SAchim Leubner tdsaResetComMemFlags(
55*4e1bc9a0SAchim Leubner                    tiRoot_t *tiRoot
56*4e1bc9a0SAchim Leubner                    );
57*4e1bc9a0SAchim Leubner 
58*4e1bc9a0SAchim Leubner 
59*4e1bc9a0SAchim Leubner osGLOBAL void
60*4e1bc9a0SAchim Leubner tdsaInitTimerRequest(
61*4e1bc9a0SAchim Leubner                      tiRoot_t                *tiRoot,
62*4e1bc9a0SAchim Leubner                      tdsaTimerRequest_t      *timerRequest
63*4e1bc9a0SAchim Leubner                      );
64*4e1bc9a0SAchim Leubner 
65*4e1bc9a0SAchim Leubner osGLOBAL void
66*4e1bc9a0SAchim Leubner tdsaSetTimerRequest(
67*4e1bc9a0SAchim Leubner                   tiRoot_t            *tiRoot,
68*4e1bc9a0SAchim Leubner                   tdsaTimerRequest_t  *timerRequest,
69*4e1bc9a0SAchim Leubner                   bit32               timeout,
70*4e1bc9a0SAchim Leubner                   tdsaTimerCBFunc_t   CBFunc,
71*4e1bc9a0SAchim Leubner                   void                *timerData1,
72*4e1bc9a0SAchim Leubner                   void                *timerData2,
73*4e1bc9a0SAchim Leubner                   void                *timerData3
74*4e1bc9a0SAchim Leubner                   );
75*4e1bc9a0SAchim Leubner 
76*4e1bc9a0SAchim Leubner osGLOBAL void
77*4e1bc9a0SAchim Leubner tdsaAddTimer (
78*4e1bc9a0SAchim Leubner               tiRoot_t            *tiRoot,
79*4e1bc9a0SAchim Leubner               tdList_t            *timerListHdr,
80*4e1bc9a0SAchim Leubner               tdsaTimerRequest_t  *timerRequest
81*4e1bc9a0SAchim Leubner              );
82*4e1bc9a0SAchim Leubner 
83*4e1bc9a0SAchim Leubner osGLOBAL void
84*4e1bc9a0SAchim Leubner tdsaKillTimer(
85*4e1bc9a0SAchim Leubner               tiRoot_t            *tiRoot,
86*4e1bc9a0SAchim Leubner               tdsaTimerRequest_t  *timerRequest
87*4e1bc9a0SAchim Leubner               );
88*4e1bc9a0SAchim Leubner 
89*4e1bc9a0SAchim Leubner 
90*4e1bc9a0SAchim Leubner 
91*4e1bc9a0SAchim Leubner 
92*4e1bc9a0SAchim Leubner 
93*4e1bc9a0SAchim Leubner osGLOBAL void
94*4e1bc9a0SAchim Leubner tdsaLoLevelGetResource (
95*4e1bc9a0SAchim Leubner                         tiRoot_t              * tiRoot,
96*4e1bc9a0SAchim Leubner                         tiLoLevelResource_t   * loResource
97*4e1bc9a0SAchim Leubner                         );
98*4e1bc9a0SAchim Leubner 
99*4e1bc9a0SAchim Leubner osGLOBAL void
100*4e1bc9a0SAchim Leubner tdsaSharedMemCalculate (
101*4e1bc9a0SAchim Leubner                         tiRoot_t              * tiRoot,
102*4e1bc9a0SAchim Leubner                         tiLoLevelResource_t   * loResource,
103*4e1bc9a0SAchim Leubner                         tiTdSharedMem_t       * tdSharedMem
104*4e1bc9a0SAchim Leubner                         );
105*4e1bc9a0SAchim Leubner 
106*4e1bc9a0SAchim Leubner osGLOBAL void
107*4e1bc9a0SAchim Leubner tdsaGetEsglPagesInfo(
108*4e1bc9a0SAchim Leubner                      tiRoot_t *tiRoot,
109*4e1bc9a0SAchim Leubner                      bit32    *PageSize,
110*4e1bc9a0SAchim Leubner                      bit32    *NumPages
111*4e1bc9a0SAchim Leubner                      );
112*4e1bc9a0SAchim Leubner 
113*4e1bc9a0SAchim Leubner osGLOBAL void
114*4e1bc9a0SAchim Leubner tdsaGetPortParams(
115*4e1bc9a0SAchim Leubner                   tiRoot_t *tiRoot
116*4e1bc9a0SAchim Leubner                   );
117*4e1bc9a0SAchim Leubner 
118*4e1bc9a0SAchim Leubner 
119*4e1bc9a0SAchim Leubner 
120*4e1bc9a0SAchim Leubner osGLOBAL void
121*4e1bc9a0SAchim Leubner tdsaGetSwConfigParams(
122*4e1bc9a0SAchim Leubner                       tiRoot_t *tiRoot
123*4e1bc9a0SAchim Leubner                       );
124*4e1bc9a0SAchim Leubner 
125*4e1bc9a0SAchim Leubner osGLOBAL void
126*4e1bc9a0SAchim Leubner tdsaGetHwConfigParams(
127*4e1bc9a0SAchim Leubner                       tiRoot_t *tiRoot
128*4e1bc9a0SAchim Leubner                       );
129*4e1bc9a0SAchim Leubner 
130*4e1bc9a0SAchim Leubner osGLOBAL void
131*4e1bc9a0SAchim Leubner tdsaGetCardPhyParams(
132*4e1bc9a0SAchim Leubner                        tiRoot_t *tiRoot
133*4e1bc9a0SAchim Leubner                        );
134*4e1bc9a0SAchim Leubner 
135*4e1bc9a0SAchim Leubner 
136*4e1bc9a0SAchim Leubner osGLOBAL void
137*4e1bc9a0SAchim Leubner tdsaGetGlobalPhyParams(
138*4e1bc9a0SAchim Leubner                        tiRoot_t *tiRoot
139*4e1bc9a0SAchim Leubner                        );
140*4e1bc9a0SAchim Leubner 
141*4e1bc9a0SAchim Leubner osGLOBAL bit32
142*4e1bc9a0SAchim Leubner tdsaGetCardIDString(
143*4e1bc9a0SAchim Leubner                     tiRoot_t *tiRoot
144*4e1bc9a0SAchim Leubner                     );
145*4e1bc9a0SAchim Leubner 
146*4e1bc9a0SAchim Leubner osGLOBAL void
147*4e1bc9a0SAchim Leubner tdsaParseLinkRateMode(
148*4e1bc9a0SAchim Leubner                       tiRoot_t *tiRoot,
149*4e1bc9a0SAchim Leubner                       bit32 index,
150*4e1bc9a0SAchim Leubner                       bit32 LinkRateRead,
151*4e1bc9a0SAchim Leubner                       bit32 ModeRead,
152*4e1bc9a0SAchim Leubner                       bit32 OpticalModeRead,
153*4e1bc9a0SAchim Leubner                       bit32 LinkRate,
154*4e1bc9a0SAchim Leubner                       bit32 Mode,
155*4e1bc9a0SAchim Leubner                       bit32 OpticalMode
156*4e1bc9a0SAchim Leubner                       );
157*4e1bc9a0SAchim Leubner 
158*4e1bc9a0SAchim Leubner osGLOBAL void
159*4e1bc9a0SAchim Leubner tdsaInitTimers(
160*4e1bc9a0SAchim Leubner                tiRoot_t *tiRoot
161*4e1bc9a0SAchim Leubner                );
162*4e1bc9a0SAchim Leubner 
163*4e1bc9a0SAchim Leubner osGLOBAL void
164*4e1bc9a0SAchim Leubner tdsaProcessTimers(
165*4e1bc9a0SAchim Leubner                   tiRoot_t *tiRoot
166*4e1bc9a0SAchim Leubner                   );
167*4e1bc9a0SAchim Leubner 
168*4e1bc9a0SAchim Leubner osGLOBAL void
169*4e1bc9a0SAchim Leubner tdsaInitTimerHandler(
170*4e1bc9a0SAchim Leubner                      tiRoot_t  *tiRoot,
171*4e1bc9a0SAchim Leubner                      void      *timerData
172*4e1bc9a0SAchim Leubner                      );
173*4e1bc9a0SAchim Leubner 
174*4e1bc9a0SAchim Leubner osGLOBAL void
175*4e1bc9a0SAchim Leubner tdsaGetEsglPages(
176*4e1bc9a0SAchim Leubner                  tiRoot_t *tiRoot,
177*4e1bc9a0SAchim Leubner                  tdList_t *EsglListHdr,
178*4e1bc9a0SAchim Leubner                  tiSgl_t  *ptiSgl,
179*4e1bc9a0SAchim Leubner                  tiSgl_t  *virtSgl
180*4e1bc9a0SAchim Leubner                  );
181*4e1bc9a0SAchim Leubner 
182*4e1bc9a0SAchim Leubner osGLOBAL void
183*4e1bc9a0SAchim Leubner tdsaFreeEsglPages(
184*4e1bc9a0SAchim Leubner                   tiRoot_t *tiRoot,
185*4e1bc9a0SAchim Leubner                   tdList_t *EsglListHdr
186*4e1bc9a0SAchim Leubner                   );
187*4e1bc9a0SAchim Leubner 
188*4e1bc9a0SAchim Leubner osGLOBAL void
189*4e1bc9a0SAchim Leubner tdssGetMaxTargetsParams(
190*4e1bc9a0SAchim Leubner                       tiRoot_t                *tiRoot,
191*4e1bc9a0SAchim Leubner                       bit32                   *pMaxTargets
192*4e1bc9a0SAchim Leubner                       );
193*4e1bc9a0SAchim Leubner 
194*4e1bc9a0SAchim Leubner osGLOBAL void
195*4e1bc9a0SAchim Leubner tdssGetSATAOnlyModeParams(
196*4e1bc9a0SAchim Leubner                       tiRoot_t                *tiRoot,
197*4e1bc9a0SAchim Leubner                       bit32                   *pMaxTargets
198*4e1bc9a0SAchim Leubner                       );
199*4e1bc9a0SAchim Leubner 
200*4e1bc9a0SAchim Leubner osGLOBAL bit32
201*4e1bc9a0SAchim Leubner tdipFWControlIoctl(
202*4e1bc9a0SAchim Leubner                    tiRoot_t            *tiRoot,
203*4e1bc9a0SAchim Leubner                    tiIOCTLPayload_t    *agIOCTLPayload,
204*4e1bc9a0SAchim Leubner                    void                *agParam1,
205*4e1bc9a0SAchim Leubner                    void                *agParam2,
206*4e1bc9a0SAchim Leubner                    void                *agParam3
207*4e1bc9a0SAchim Leubner                    );
208*4e1bc9a0SAchim Leubner 
209*4e1bc9a0SAchim Leubner osGLOBAL bit32
210*4e1bc9a0SAchim Leubner tdsaVPDGetIoctl(
211*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot,
212*4e1bc9a0SAchim Leubner                 tiIOCTLPayload_t    *agIOCTLPayload,
213*4e1bc9a0SAchim Leubner                 void                *agParam1,
214*4e1bc9a0SAchim Leubner                 void                *agParam2,
215*4e1bc9a0SAchim Leubner                 void                *agParam3
216*4e1bc9a0SAchim Leubner                 );
217*4e1bc9a0SAchim Leubner 
218*4e1bc9a0SAchim Leubner osGLOBAL bit32
219*4e1bc9a0SAchim Leubner tdsaVPDSetIoctl(
220*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot,
221*4e1bc9a0SAchim Leubner                 tiIOCTLPayload_t    *agIOCTLPayload,
222*4e1bc9a0SAchim Leubner                 void                *agParam1,
223*4e1bc9a0SAchim Leubner                 void                *agParam2,
224*4e1bc9a0SAchim Leubner                 void                *agParam3
225*4e1bc9a0SAchim Leubner                 );
226*4e1bc9a0SAchim Leubner 
227*4e1bc9a0SAchim Leubner osGLOBAL void
228*4e1bc9a0SAchim Leubner ostiCOMMgntVPDSetIOCTLRsp(
229*4e1bc9a0SAchim Leubner                           tiRoot_t            *tiRoot,
230*4e1bc9a0SAchim Leubner                           bit32               status
231*4e1bc9a0SAchim Leubner                           );
232*4e1bc9a0SAchim Leubner 
233*4e1bc9a0SAchim Leubner osGLOBAL void
234*4e1bc9a0SAchim Leubner tdsaFreeCardID(tiRoot_t *tiRoot,
235*4e1bc9a0SAchim Leubner                bit32    CardID
236*4e1bc9a0SAchim Leubner                );
237*4e1bc9a0SAchim Leubner 
238*4e1bc9a0SAchim Leubner 
239*4e1bc9a0SAchim Leubner osGLOBAL bit32
240*4e1bc9a0SAchim Leubner tdsaAbortAll(
241*4e1bc9a0SAchim Leubner              tiRoot_t                   *tiRoot,
242*4e1bc9a0SAchim Leubner              agsaRoot_t                 *agRoot,
243*4e1bc9a0SAchim Leubner              tdsaDeviceData_t           *oneDeviceData
244*4e1bc9a0SAchim Leubner              );
245*4e1bc9a0SAchim Leubner 
246*4e1bc9a0SAchim Leubner osGLOBAL bit32
247*4e1bc9a0SAchim Leubner tdsaFindLocalMCN(
248*4e1bc9a0SAchim Leubner                  tiRoot_t                   *tiRoot,
249*4e1bc9a0SAchim Leubner                  tdsaPortContext_t          *onePortContext
250*4e1bc9a0SAchim Leubner                 );
251*4e1bc9a0SAchim Leubner 
252*4e1bc9a0SAchim Leubner osGLOBAL bit32
253*4e1bc9a0SAchim Leubner tdsaRegDumpGetIoctl(
254*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot,
255*4e1bc9a0SAchim Leubner                 tiIOCTLPayload_t    *agIOCTLPayload,
256*4e1bc9a0SAchim Leubner                 void                *agParam1,
257*4e1bc9a0SAchim Leubner                 void                *agParam2,
258*4e1bc9a0SAchim Leubner                 void                *agParam3
259*4e1bc9a0SAchim Leubner                 );
260*4e1bc9a0SAchim Leubner 
261*4e1bc9a0SAchim Leubner osGLOBAL bit32
262*4e1bc9a0SAchim Leubner tdsaNVMDSetIoctl(
263*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot,
264*4e1bc9a0SAchim Leubner                 tiIOCTLPayload_t    *agIOCTLPayload,
265*4e1bc9a0SAchim Leubner                 void                *agParam1,
266*4e1bc9a0SAchim Leubner                 void                *agParam2,
267*4e1bc9a0SAchim Leubner                 void                *agParam3
268*4e1bc9a0SAchim Leubner                 );
269*4e1bc9a0SAchim Leubner 
270*4e1bc9a0SAchim Leubner osGLOBAL bit32
271*4e1bc9a0SAchim Leubner tdsaNVMDGetIoctl(
272*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot,
273*4e1bc9a0SAchim Leubner                 tiIOCTLPayload_t    *agIOCTLPayload,
274*4e1bc9a0SAchim Leubner                 void                *agParam1,
275*4e1bc9a0SAchim Leubner                 void                *agParam2,
276*4e1bc9a0SAchim Leubner                 void                *agParam3
277*4e1bc9a0SAchim Leubner                 );
278*4e1bc9a0SAchim Leubner 
279*4e1bc9a0SAchim Leubner osGLOBAL void ostiGetGpioIOCTLRsp(
280*4e1bc9a0SAchim Leubner 		tiRoot_t	       *tiRoot,
281*4e1bc9a0SAchim Leubner 		bit32		       status,
282*4e1bc9a0SAchim Leubner 		bit32		       gpioReadValue,
283*4e1bc9a0SAchim Leubner 		agsaGpioPinSetupInfo_t *gpioPinSetupInfo,
284*4e1bc9a0SAchim Leubner 		agsaGpioEventSetupInfo_t *gpioEventSetupInfo
285*4e1bc9a0SAchim Leubner 		);
286*4e1bc9a0SAchim Leubner 
287*4e1bc9a0SAchim Leubner osGLOBAL bit32
288*4e1bc9a0SAchim Leubner tdsaGpioSetup(
289*4e1bc9a0SAchim Leubner 		tiRoot_t		*tiRoot,
290*4e1bc9a0SAchim Leubner 		agsaContext_t		*agContext,
291*4e1bc9a0SAchim Leubner 		tiIOCTLPayload_t	*agIOCTLPayload,
292*4e1bc9a0SAchim Leubner 		void			*agParam1,
293*4e1bc9a0SAchim Leubner 		void			*agParam2
294*4e1bc9a0SAchim Leubner 		);
295*4e1bc9a0SAchim Leubner 
296*4e1bc9a0SAchim Leubner 
297*4e1bc9a0SAchim Leubner osGLOBAL bit32
298*4e1bc9a0SAchim Leubner tdsaSGpioIoctlSetup(
299*4e1bc9a0SAchim Leubner                     tiRoot_t            *tiRoot,
300*4e1bc9a0SAchim Leubner                     agsaContext_t       *agContext,
301*4e1bc9a0SAchim Leubner                     tiIOCTLPayload_t    *agIOCTLPayload,
302*4e1bc9a0SAchim Leubner                     void                *agParam1,
303*4e1bc9a0SAchim Leubner                     void                *agParam2
304*4e1bc9a0SAchim Leubner                     );
305*4e1bc9a0SAchim Leubner 
306*4e1bc9a0SAchim Leubner osGLOBAL void ostiSgpioIoctlRsp(
307*4e1bc9a0SAchim Leubner                                 tiRoot_t                *tiRoot,
308*4e1bc9a0SAchim Leubner                                 agsaSGpioReqResponse_t  *pSgpioResponse
309*4e1bc9a0SAchim Leubner                                 );
310*4e1bc9a0SAchim Leubner osGLOBAL bit32
311*4e1bc9a0SAchim Leubner tdsaDeviceInfoGetIoctl(
312*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot,
313*4e1bc9a0SAchim Leubner                 tiIOCTLPayload_t    *agIOCTLPayload,
314*4e1bc9a0SAchim Leubner                 void                *agParam1,
315*4e1bc9a0SAchim Leubner                 void                *agParam2,
316*4e1bc9a0SAchim Leubner                 void                *agParam3
317*4e1bc9a0SAchim Leubner                 );
318*4e1bc9a0SAchim Leubner 
319*4e1bc9a0SAchim Leubner osGLOBAL bit32
320*4e1bc9a0SAchim Leubner tdsaIoErrorStatisticGetIoctl(
321*4e1bc9a0SAchim Leubner                  tiRoot_t            *tiRoot,
322*4e1bc9a0SAchim Leubner                  tiIOCTLPayload_t    *agIOCTLPayload,
323*4e1bc9a0SAchim Leubner                  void                *agParam1,
324*4e1bc9a0SAchim Leubner                  void                *agParam2,
325*4e1bc9a0SAchim Leubner                  void                *agParam3
326*4e1bc9a0SAchim Leubner                  );
327*4e1bc9a0SAchim Leubner 
328*4e1bc9a0SAchim Leubner osGLOBAL bit32
329*4e1bc9a0SAchim Leubner tdsaIoEventStatisticGetIoctl(
330*4e1bc9a0SAchim Leubner                  tiRoot_t            *tiRoot,
331*4e1bc9a0SAchim Leubner                  tiIOCTLPayload_t    *agIOCTLPayload,
332*4e1bc9a0SAchim Leubner                  void                *agParam1,
333*4e1bc9a0SAchim Leubner                  void                *agParam2,
334*4e1bc9a0SAchim Leubner                  void                *agParam3
335*4e1bc9a0SAchim Leubner                  );
336*4e1bc9a0SAchim Leubner 
337*4e1bc9a0SAchim Leubner osGLOBAL bit32
338*4e1bc9a0SAchim Leubner tdsaForensicDataGetIoctl(
339*4e1bc9a0SAchim Leubner                  tiRoot_t            *tiRoot,
340*4e1bc9a0SAchim Leubner                  tiIOCTLPayload_t    *agIOCTLPayload,
341*4e1bc9a0SAchim Leubner                  void                *agParam1,
342*4e1bc9a0SAchim Leubner                  void                *agParam2,
343*4e1bc9a0SAchim Leubner                  void                *agParam3
344*4e1bc9a0SAchim Leubner                  );
345*4e1bc9a0SAchim Leubner 
346*4e1bc9a0SAchim Leubner osGLOBAL bit32
347*4e1bc9a0SAchim Leubner tdsaSendSMPIoctl(
348*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot,
349*4e1bc9a0SAchim Leubner                 tiIOCTLPayload_t    *agIOCTLPayload,
350*4e1bc9a0SAchim Leubner                 void                *agParam1,
351*4e1bc9a0SAchim Leubner                 void                *agParam2,
352*4e1bc9a0SAchim Leubner                 void                *agParam3
353*4e1bc9a0SAchim Leubner                 );
354*4e1bc9a0SAchim Leubner 
355*4e1bc9a0SAchim Leubner osGLOBAL bit32
356*4e1bc9a0SAchim Leubner tdsaSendBISTIoctl(
357*4e1bc9a0SAchim Leubner                  tiRoot_t            *tiRoot,
358*4e1bc9a0SAchim Leubner                  tiIOCTLPayload_t    *agIOCTLPayload,
359*4e1bc9a0SAchim Leubner                  void                *agParam1,
360*4e1bc9a0SAchim Leubner                  void                *agParam2,
361*4e1bc9a0SAchim Leubner                  void                *agParam3
362*4e1bc9a0SAchim Leubner                  );
363*4e1bc9a0SAchim Leubner 
364*4e1bc9a0SAchim Leubner osGLOBAL bit32
365*4e1bc9a0SAchim Leubner tdsaSendTMFIoctl(
366*4e1bc9a0SAchim Leubner 		tiRoot_t	*tiRoot,
367*4e1bc9a0SAchim Leubner 		tiIOCTLPayload_t *agIOCTLPayload,
368*4e1bc9a0SAchim Leubner 		void		*agParam1,
369*4e1bc9a0SAchim Leubner 		void		*agParam2,
370*4e1bc9a0SAchim Leubner 		unsigned long	resetType
371*4e1bc9a0SAchim Leubner 	       );
372*4e1bc9a0SAchim Leubner 
373*4e1bc9a0SAchim Leubner 
374*4e1bc9a0SAchim Leubner osGLOBAL bit32
375*4e1bc9a0SAchim Leubner tdsaRegisterIoctl(
376*4e1bc9a0SAchim Leubner                  tiRoot_t            *tiRoot,
377*4e1bc9a0SAchim Leubner                  tiIOCTLPayload_t    *agIOCTLPayload,
378*4e1bc9a0SAchim Leubner                  void                *agParam1,
379*4e1bc9a0SAchim Leubner                  void                *agParam2,
380*4e1bc9a0SAchim Leubner                  void                *agParam3
381*4e1bc9a0SAchim Leubner                  );
382*4e1bc9a0SAchim Leubner 
383*4e1bc9a0SAchim Leubner osGLOBAL bit32
384*4e1bc9a0SAchim Leubner tdsaGetPhyGeneralStatusIoctl(
385*4e1bc9a0SAchim Leubner 	                tiRoot_t                  *tiRoot,
386*4e1bc9a0SAchim Leubner 	                agsaPhyGeneralState_t     *PhyData
387*4e1bc9a0SAchim Leubner 	                );
388*4e1bc9a0SAchim Leubner 
389*4e1bc9a0SAchim Leubner osGLOBAL void ostiGetPhyGeneralStatusRsp(
390*4e1bc9a0SAchim Leubner 									tiRoot_t				      *tiRoot,
391*4e1bc9a0SAchim Leubner                                     agsaSASPhyGeneralStatusPage_t *GenStatus,
392*4e1bc9a0SAchim Leubner                                     bit32                          phyID
393*4e1bc9a0SAchim Leubner 									);
394*4e1bc9a0SAchim Leubner 
395*4e1bc9a0SAchim Leubner 
396*4e1bc9a0SAchim Leubner osGLOBAL bit32
397*4e1bc9a0SAchim Leubner tdsaPhyProfileIoctl(
398*4e1bc9a0SAchim Leubner                  tiRoot_t            *tiRoot,
399*4e1bc9a0SAchim Leubner                  tiIOCTLPayload_t    *agIOCTLPayload,
400*4e1bc9a0SAchim Leubner                  void                *agParam1,
401*4e1bc9a0SAchim Leubner                  void                *agParam2,
402*4e1bc9a0SAchim Leubner                  void                *agParam3
403*4e1bc9a0SAchim Leubner                  );
404*4e1bc9a0SAchim Leubner 
405*4e1bc9a0SAchim Leubner osGLOBAL void
406*4e1bc9a0SAchim Leubner tdsaDeregisterDevicesInPort(
407*4e1bc9a0SAchim Leubner                 tiRoot_t             *tiRoot,
408*4e1bc9a0SAchim Leubner                 tdsaPortContext_t    *onePortContext
409*4e1bc9a0SAchim Leubner                );
410*4e1bc9a0SAchim Leubner 
411*4e1bc9a0SAchim Leubner #ifdef VPD_TESTING
412*4e1bc9a0SAchim Leubner osGLOBAL bit32
413*4e1bc9a0SAchim Leubner tdsaVPDGet(
414*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot
415*4e1bc9a0SAchim Leubner                 );
416*4e1bc9a0SAchim Leubner 
417*4e1bc9a0SAchim Leubner osGLOBAL bit32
418*4e1bc9a0SAchim Leubner tdsaVPDSet(
419*4e1bc9a0SAchim Leubner                 tiRoot_t            *tiRoot
420*4e1bc9a0SAchim Leubner                 );
421*4e1bc9a0SAchim Leubner 
422*4e1bc9a0SAchim Leubner #endif
423*4e1bc9a0SAchim Leubner 
424*4e1bc9a0SAchim Leubner /*****************************************************************************
425*4e1bc9a0SAchim Leubner *
426*4e1bc9a0SAchim Leubner * SAS SHARED PROTOTYPES
427*4e1bc9a0SAchim Leubner *
428*4e1bc9a0SAchim Leubner *****************************************************************************/
429*4e1bc9a0SAchim Leubner osGLOBAL void
430*4e1bc9a0SAchim Leubner tdsaJumpTableInit(
431*4e1bc9a0SAchim Leubner                   tiRoot_t *tiRoot
432*4e1bc9a0SAchim Leubner                   );
433*4e1bc9a0SAchim Leubner 
434*4e1bc9a0SAchim Leubner osGLOBAL void
435*4e1bc9a0SAchim Leubner tdsaPortContextInit(
436*4e1bc9a0SAchim Leubner                     tiRoot_t *tiRoot
437*4e1bc9a0SAchim Leubner                     );
438*4e1bc9a0SAchim Leubner 
439*4e1bc9a0SAchim Leubner osGLOBAL void
440*4e1bc9a0SAchim Leubner tdsaPortContextReInit(
441*4e1bc9a0SAchim Leubner                       tiRoot_t             *tiRoot,
442*4e1bc9a0SAchim Leubner                       tdsaPortContext_t    *onePortContext
443*4e1bc9a0SAchim Leubner                     );
444*4e1bc9a0SAchim Leubner 
445*4e1bc9a0SAchim Leubner osGLOBAL void
446*4e1bc9a0SAchim Leubner tdsaDeviceDataInit(
447*4e1bc9a0SAchim Leubner                    tiRoot_t *tiRoot
448*4e1bc9a0SAchim Leubner                    );
449*4e1bc9a0SAchim Leubner 
450*4e1bc9a0SAchim Leubner osGLOBAL void
451*4e1bc9a0SAchim Leubner tdsaDeviceDataReInit(
452*4e1bc9a0SAchim Leubner                    tiRoot_t             *tiRoot,
453*4e1bc9a0SAchim Leubner                    tdsaDeviceData_t     *oneDeviceData
454*4e1bc9a0SAchim Leubner                    );
455*4e1bc9a0SAchim Leubner 
456*4e1bc9a0SAchim Leubner #ifdef TD_INT_COALESCE
457*4e1bc9a0SAchim Leubner osGLOBAL void
458*4e1bc9a0SAchim Leubner tdsaIntCoalCxtInit(
459*4e1bc9a0SAchim Leubner                     tiRoot_t *tiRoot
460*4e1bc9a0SAchim Leubner                     );
461*4e1bc9a0SAchim Leubner #endif
462*4e1bc9a0SAchim Leubner 
463*4e1bc9a0SAchim Leubner osGLOBAL FORCEINLINE bit32
464*4e1bc9a0SAchim Leubner tdsaRotateQnumber(tiRoot_t                *tiRoot,
465*4e1bc9a0SAchim Leubner                   tdsaDeviceData_t        *oneDeviceData);
466*4e1bc9a0SAchim Leubner 
467*4e1bc9a0SAchim Leubner osGLOBAL bit32
468*4e1bc9a0SAchim Leubner tdsaRotateQnumber1(tiRoot_t                *tiRoot,
469*4e1bc9a0SAchim Leubner                   tdsaDeviceData_t        *oneDeviceData );
470*4e1bc9a0SAchim Leubner osGLOBAL void
471*4e1bc9a0SAchim Leubner tdssRemoveSASSATAFromSharedcontext(
472*4e1bc9a0SAchim Leubner                           agsaRoot_t           *agRoot,
473*4e1bc9a0SAchim Leubner                           tdsaPortContext_t    *PortContext_Instance
474*4e1bc9a0SAchim Leubner                           );
475*4e1bc9a0SAchim Leubner osGLOBAL void
476*4e1bc9a0SAchim Leubner tdssRemoveSASSATAFromSharedcontextByReset(
477*4e1bc9a0SAchim Leubner                           agsaRoot_t           *agRoot
478*4e1bc9a0SAchim Leubner                           );
479*4e1bc9a0SAchim Leubner osGLOBAL bit32
480*4e1bc9a0SAchim Leubner tdssSASFindDiscoveringExpander(
481*4e1bc9a0SAchim Leubner                           tiRoot_t                 *tiRoot,
482*4e1bc9a0SAchim Leubner                           tdsaPortContext_t        *onePortContext,
483*4e1bc9a0SAchim Leubner                           tdsaExpander_t           *oneExpander
484*4e1bc9a0SAchim Leubner                           );
485*4e1bc9a0SAchim Leubner 
486*4e1bc9a0SAchim Leubner osGLOBAL void
487*4e1bc9a0SAchim Leubner tdssAddSASToSharedcontext(
488*4e1bc9a0SAchim Leubner                           tdsaPortContext_t    *tdsaPortContext_Instance,
489*4e1bc9a0SAchim Leubner                           agsaRoot_t           *agRoot,
490*4e1bc9a0SAchim Leubner                           agsaDevHandle_t      *agDevHandle,
491*4e1bc9a0SAchim Leubner                           tdsaSASSubID_t       *agSASSubID,
492*4e1bc9a0SAchim Leubner                           bit32                registered,
493*4e1bc9a0SAchim Leubner                           bit8                 phyID,
494*4e1bc9a0SAchim Leubner                           bit32                flag
495*4e1bc9a0SAchim Leubner                           );
496*4e1bc9a0SAchim Leubner 
497*4e1bc9a0SAchim Leubner osGLOBAL void
498*4e1bc9a0SAchim Leubner tdssRemoveSASFromSharedcontext(
499*4e1bc9a0SAchim Leubner                                tdsaPortContext_t *tdsaPortContext_Ins,
500*4e1bc9a0SAchim Leubner                                tdsaDeviceData_t  *tdsaDeviceData_ins,
501*4e1bc9a0SAchim Leubner                                agsaRoot_t        *agRoot
502*4e1bc9a0SAchim Leubner                                );
503*4e1bc9a0SAchim Leubner 
504*4e1bc9a0SAchim Leubner osGLOBAL void
505*4e1bc9a0SAchim Leubner tdssRemoveAllDevicelistFromPortcontext(
506*4e1bc9a0SAchim Leubner                                        tdsaPortContext_t *PortContext_Ins,
507*4e1bc9a0SAchim Leubner                                        agsaRoot_t        *agRoot
508*4e1bc9a0SAchim Leubner                                        );
509*4e1bc9a0SAchim Leubner 
510*4e1bc9a0SAchim Leubner osGLOBAL void
511*4e1bc9a0SAchim Leubner tdssAddSATAToSharedcontext( tdsaPortContext_t    *tdsaPortContext_Instance,
512*4e1bc9a0SAchim Leubner                             agsaRoot_t           *agRoot,
513*4e1bc9a0SAchim Leubner                             agsaDevHandle_t      *agDevHandle,
514*4e1bc9a0SAchim Leubner                             agsaSATADeviceInfo_t *agSATADeviceInfo,
515*4e1bc9a0SAchim Leubner                             bit32                 registered,
516*4e1bc9a0SAchim Leubner                             bit8                  phyID
517*4e1bc9a0SAchim Leubner                             );
518*4e1bc9a0SAchim Leubner 
519*4e1bc9a0SAchim Leubner osGLOBAL void
520*4e1bc9a0SAchim Leubner tdssSubAddSATAToSharedcontext( tiRoot_t             *tiRoot,
521*4e1bc9a0SAchim Leubner                                tdsaDeviceData_t     *oneDeviceData
522*4e1bc9a0SAchim Leubner                               );
523*4e1bc9a0SAchim Leubner 
524*4e1bc9a0SAchim Leubner osGLOBAL void
525*4e1bc9a0SAchim Leubner tdssRetrySATAID( tiRoot_t             *tiRoot,
526*4e1bc9a0SAchim Leubner                  tdsaDeviceData_t     *oneDeviceData
527*4e1bc9a0SAchim Leubner                );
528*4e1bc9a0SAchim Leubner 
529*4e1bc9a0SAchim Leubner osGLOBAL void
530*4e1bc9a0SAchim Leubner tdssInitSASPortStartInfo(
531*4e1bc9a0SAchim Leubner                          tiRoot_t *tiRoot
532*4e1bc9a0SAchim Leubner                          );
533*4e1bc9a0SAchim Leubner #ifndef ossaDeviceRegistrationCB
534*4e1bc9a0SAchim Leubner osGLOBAL void
535*4e1bc9a0SAchim Leubner ossaDeviceRegistrationCB(
536*4e1bc9a0SAchim Leubner                          agsaRoot_t        *agRoot,
537*4e1bc9a0SAchim Leubner                          agsaContext_t     *agContext,
538*4e1bc9a0SAchim Leubner                          bit32             status,
539*4e1bc9a0SAchim Leubner                          agsaDevHandle_t   *agDevHandle,
540*4e1bc9a0SAchim Leubner                          bit32                   deviceID);
541*4e1bc9a0SAchim Leubner #endif
542*4e1bc9a0SAchim Leubner 
543*4e1bc9a0SAchim Leubner #ifndef ossaDeregisterDeviceHandleCB
544*4e1bc9a0SAchim Leubner osGLOBAL void
545*4e1bc9a0SAchim Leubner ossaDeregisterDeviceHandleCB(
546*4e1bc9a0SAchim Leubner                              agsaRoot_t          *agRoot,
547*4e1bc9a0SAchim Leubner                              agsaContext_t       *agContext,
548*4e1bc9a0SAchim Leubner                              agsaDevHandle_t     *agDevHandle,
549*4e1bc9a0SAchim Leubner                              bit32               status
550*4e1bc9a0SAchim Leubner                              );
551*4e1bc9a0SAchim Leubner #endif
552*4e1bc9a0SAchim Leubner 
553*4e1bc9a0SAchim Leubner #ifdef INITIATOR_DRIVER
554*4e1bc9a0SAchim Leubner /*****************************************************************************
555*4e1bc9a0SAchim Leubner *
556*4e1bc9a0SAchim Leubner * SAS Initiator only PROTOTYPES
557*4e1bc9a0SAchim Leubner *
558*4e1bc9a0SAchim Leubner *****************************************************************************/
559*4e1bc9a0SAchim Leubner osGLOBAL bit32
560*4e1bc9a0SAchim Leubner itdssInit(
561*4e1bc9a0SAchim Leubner           tiRoot_t              *tiRoot,
562*4e1bc9a0SAchim Leubner           tiInitiatorResource_t *initiatorResource,
563*4e1bc9a0SAchim Leubner           tiTdSharedMem_t       *tdSharedMem
564*4e1bc9a0SAchim Leubner           );
565*4e1bc9a0SAchim Leubner 
566*4e1bc9a0SAchim Leubner osGLOBAL void
567*4e1bc9a0SAchim Leubner itdssInitTimers (
568*4e1bc9a0SAchim Leubner                  tiRoot_t *tiRoot
569*4e1bc9a0SAchim Leubner                  );
570*4e1bc9a0SAchim Leubner 
571*4e1bc9a0SAchim Leubner osGLOBAL FORCEINLINE void
572*4e1bc9a0SAchim Leubner itdssIOCompleted(
573*4e1bc9a0SAchim Leubner                  agsaRoot_t             *agRoot,
574*4e1bc9a0SAchim Leubner                  agsaIORequest_t        *agIORequest,
575*4e1bc9a0SAchim Leubner                  bit32                  agIOStatus,
576*4e1bc9a0SAchim Leubner                  bit32                  agIOInfoLen,
577*4e1bc9a0SAchim Leubner                  void                   *agParam,
578*4e1bc9a0SAchim Leubner                  bit32                  agOtherInfo
579*4e1bc9a0SAchim Leubner                  );
580*4e1bc9a0SAchim Leubner 
581*4e1bc9a0SAchim Leubner osGLOBAL void
582*4e1bc9a0SAchim Leubner itdssTaskCompleted(
583*4e1bc9a0SAchim Leubner                    agsaRoot_t             *agRoot,
584*4e1bc9a0SAchim Leubner                    agsaIORequest_t        *agIORequest,
585*4e1bc9a0SAchim Leubner                    bit32                  agIOStatus,
586*4e1bc9a0SAchim Leubner                    bit32                  agIOInfoLen,
587*4e1bc9a0SAchim Leubner                    void                   *agParam,
588*4e1bc9a0SAchim Leubner                    bit32                  agOtherInfo
589*4e1bc9a0SAchim Leubner                    );
590*4e1bc9a0SAchim Leubner 
591*4e1bc9a0SAchim Leubner osGLOBAL void
592*4e1bc9a0SAchim Leubner itdssQueryTaskCompleted(
593*4e1bc9a0SAchim Leubner                         agsaRoot_t             *agRoot,
594*4e1bc9a0SAchim Leubner                         agsaIORequest_t        *agIORequest,
595*4e1bc9a0SAchim Leubner                         bit32                  agIOStatus,
596*4e1bc9a0SAchim Leubner                         bit32                  agIOInfoLen,
597*4e1bc9a0SAchim Leubner                         void                   *agParam,
598*4e1bc9a0SAchim Leubner                         bit32                  agOtherInfo
599*4e1bc9a0SAchim Leubner                         );
600*4e1bc9a0SAchim Leubner 
601*4e1bc9a0SAchim Leubner osGLOBAL void
602*4e1bc9a0SAchim Leubner itdssSMPCompleted (
603*4e1bc9a0SAchim Leubner                    agsaRoot_t            *agRoot,
604*4e1bc9a0SAchim Leubner                    agsaIORequest_t       *agIORequest,
605*4e1bc9a0SAchim Leubner                    bit32                 agIOStatus,
606*4e1bc9a0SAchim Leubner                    bit32                 agIOInfoLen,
607*4e1bc9a0SAchim Leubner                    agsaFrameHandle_t     agFrameHandle
608*4e1bc9a0SAchim Leubner                    );
609*4e1bc9a0SAchim Leubner 
610*4e1bc9a0SAchim Leubner osGLOBAL void
611*4e1bc9a0SAchim Leubner ossaSMPCAMCompleted(
612*4e1bc9a0SAchim Leubner                     agsaRoot_t            *agRoot,
613*4e1bc9a0SAchim Leubner                     agsaIORequest_t       *agIORequest,
614*4e1bc9a0SAchim Leubner                     bit32                 agIOStatus,
615*4e1bc9a0SAchim Leubner                     bit32                 agIOInfoLen,
616*4e1bc9a0SAchim Leubner                     agsaFrameHandle_t     agFrameHandle
617*4e1bc9a0SAchim Leubner                    );
618*4e1bc9a0SAchim Leubner 
619*4e1bc9a0SAchim Leubner osGLOBAL void
620*4e1bc9a0SAchim Leubner itdssIOSuccessHandler(
621*4e1bc9a0SAchim Leubner                       agsaRoot_t           *agRoot,
622*4e1bc9a0SAchim Leubner                       agsaIORequest_t      *agIORequest,
623*4e1bc9a0SAchim Leubner                       bit32                agIOStatus,
624*4e1bc9a0SAchim Leubner                       bit32                agIOInfoLen,
625*4e1bc9a0SAchim Leubner                       void                 *agParam,
626*4e1bc9a0SAchim Leubner                       bit32                 agOtherInfo
627*4e1bc9a0SAchim Leubner                       );
628*4e1bc9a0SAchim Leubner osGLOBAL void
629*4e1bc9a0SAchim Leubner itdssIOAbortedHandler(
630*4e1bc9a0SAchim Leubner                       agsaRoot_t           *agRoot,
631*4e1bc9a0SAchim Leubner                       agsaIORequest_t      *agIORequest,
632*4e1bc9a0SAchim Leubner                       bit32                agIOStatus,
633*4e1bc9a0SAchim Leubner                       bit32                agIOInfoLen,
634*4e1bc9a0SAchim Leubner                       void                 *agParam,
635*4e1bc9a0SAchim Leubner                       bit32                agOtherInfo
636*4e1bc9a0SAchim Leubner                       );
637*4e1bc9a0SAchim Leubner 
638*4e1bc9a0SAchim Leubner #ifdef REMOVED
639*4e1bc9a0SAchim Leubner osGLOBAL void
640*4e1bc9a0SAchim Leubner itdssIOOverFlowHandler(
641*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
642*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
643*4e1bc9a0SAchim Leubner                        bit32                 agIOStatus,
644*4e1bc9a0SAchim Leubner                        bit32                 agIOInfoLen,
645*4e1bc9a0SAchim Leubner                        void                 *agParam
646*4e1bc9a0SAchim Leubner                        );
647*4e1bc9a0SAchim Leubner #endif
648*4e1bc9a0SAchim Leubner 
649*4e1bc9a0SAchim Leubner osGLOBAL void
650*4e1bc9a0SAchim Leubner itdssIOUnderFlowHandler(
651*4e1bc9a0SAchim Leubner                         agsaRoot_t           *agRoot,
652*4e1bc9a0SAchim Leubner                         agsaIORequest_t      *agIORequest,
653*4e1bc9a0SAchim Leubner                         bit32                agIOStatus,
654*4e1bc9a0SAchim Leubner                         bit32                agIOInfoLen,
655*4e1bc9a0SAchim Leubner                         void                 *agParam,
656*4e1bc9a0SAchim Leubner                         bit32                agOtherInfo
657*4e1bc9a0SAchim Leubner                         );
658*4e1bc9a0SAchim Leubner 
659*4e1bc9a0SAchim Leubner osGLOBAL void
660*4e1bc9a0SAchim Leubner itdssIOFailedHandler(
661*4e1bc9a0SAchim Leubner                      agsaRoot_t           *agRoot,
662*4e1bc9a0SAchim Leubner                      agsaIORequest_t      *agIORequest,
663*4e1bc9a0SAchim Leubner                      bit32                agIOStatus,
664*4e1bc9a0SAchim Leubner                      bit32                agIOInfoLen,
665*4e1bc9a0SAchim Leubner                      void                 *agParam,
666*4e1bc9a0SAchim Leubner                      bit32                agOtherInfo
667*4e1bc9a0SAchim Leubner                      );
668*4e1bc9a0SAchim Leubner 
669*4e1bc9a0SAchim Leubner osGLOBAL void
670*4e1bc9a0SAchim Leubner itdssIOAbortResetHandler(
671*4e1bc9a0SAchim Leubner                          agsaRoot_t           *agRoot,
672*4e1bc9a0SAchim Leubner                          agsaIORequest_t      *agIORequest,
673*4e1bc9a0SAchim Leubner                          bit32                agIOStatus,
674*4e1bc9a0SAchim Leubner                          bit32                agIOInfoLen,
675*4e1bc9a0SAchim Leubner                          void                 *agParam,
676*4e1bc9a0SAchim Leubner                          bit32                agOtherInfo
677*4e1bc9a0SAchim Leubner                          );
678*4e1bc9a0SAchim Leubner osGLOBAL void
679*4e1bc9a0SAchim Leubner itdssIONotValidHandler(
680*4e1bc9a0SAchim Leubner                        agsaRoot_t               *agRoot,
681*4e1bc9a0SAchim Leubner                        agsaIORequest_t          *agIORequest,
682*4e1bc9a0SAchim Leubner                        bit32                    agIOStatus,
683*4e1bc9a0SAchim Leubner                        bit32                    agIOInfoLen,
684*4e1bc9a0SAchim Leubner                        void                     *agParam,
685*4e1bc9a0SAchim Leubner                        bit32                    agOtherInfo
686*4e1bc9a0SAchim Leubner                        );
687*4e1bc9a0SAchim Leubner 
688*4e1bc9a0SAchim Leubner osGLOBAL void
689*4e1bc9a0SAchim Leubner itdssIONoDeviceHandler(
690*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
691*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
692*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
693*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
694*4e1bc9a0SAchim Leubner                        void                 *agParam,
695*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
696*4e1bc9a0SAchim Leubner                        );
697*4e1bc9a0SAchim Leubner 
698*4e1bc9a0SAchim Leubner #ifdef REMOVED /* removed from spec */
699*4e1bc9a0SAchim Leubner osGLOBAL void
700*4e1bc9a0SAchim Leubner itdssIllegalParameterHandler(
701*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
702*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
703*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
704*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
705*4e1bc9a0SAchim Leubner                        void                 *agParam
706*4e1bc9a0SAchim Leubner                        );
707*4e1bc9a0SAchim Leubner #endif
708*4e1bc9a0SAchim Leubner 
709*4e1bc9a0SAchim Leubner osGLOBAL void
710*4e1bc9a0SAchim Leubner itdssLinkFailureHandler(
711*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
712*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
713*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
714*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
715*4e1bc9a0SAchim Leubner                        void                 *agParam,
716*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
717*4e1bc9a0SAchim Leubner                        );
718*4e1bc9a0SAchim Leubner osGLOBAL void
719*4e1bc9a0SAchim Leubner itdssProgErrorHandler(
720*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
721*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
722*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
723*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
724*4e1bc9a0SAchim Leubner                        void                 *agParam,
725*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
726*4e1bc9a0SAchim Leubner                        );
727*4e1bc9a0SAchim Leubner osGLOBAL void
728*4e1bc9a0SAchim Leubner itdssXferErrorBreakHandler(
729*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
730*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
731*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
732*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
733*4e1bc9a0SAchim Leubner                        void                 *agParam,
734*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
735*4e1bc9a0SAchim Leubner                        );
736*4e1bc9a0SAchim Leubner osGLOBAL void
737*4e1bc9a0SAchim Leubner itdssXferErrorPhyNotReadyHandler(
738*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
739*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
740*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
741*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
742*4e1bc9a0SAchim Leubner                        void                 *agParam,
743*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
744*4e1bc9a0SAchim Leubner                        );
745*4e1bc9a0SAchim Leubner osGLOBAL void
746*4e1bc9a0SAchim Leubner itdssOpenCnxErrorProtocolNotSupprotedHandler(
747*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
748*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
749*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
750*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
751*4e1bc9a0SAchim Leubner                        void                 *agParam,
752*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
753*4e1bc9a0SAchim Leubner                        );
754*4e1bc9a0SAchim Leubner osGLOBAL void
755*4e1bc9a0SAchim Leubner itdssOpenCnxErrorZoneViolationHandler(
756*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
757*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
758*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
759*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
760*4e1bc9a0SAchim Leubner                        void                 *agParam,
761*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
762*4e1bc9a0SAchim Leubner                        );
763*4e1bc9a0SAchim Leubner osGLOBAL void
764*4e1bc9a0SAchim Leubner itdssOpenCnxErrorBreakHandler(
765*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
766*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
767*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
768*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
769*4e1bc9a0SAchim Leubner                        void                 *agParam,
770*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
771*4e1bc9a0SAchim Leubner                        );
772*4e1bc9a0SAchim Leubner osGLOBAL void
773*4e1bc9a0SAchim Leubner itdssOpenCnxErrorITNexusLossHandler(
774*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
775*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
776*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
777*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
778*4e1bc9a0SAchim Leubner                        void                 *agParam,
779*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
780*4e1bc9a0SAchim Leubner                        );
781*4e1bc9a0SAchim Leubner osGLOBAL void
782*4e1bc9a0SAchim Leubner itdssOpenCnxErrorBadDestinationHandler(
783*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
784*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
785*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
786*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
787*4e1bc9a0SAchim Leubner                        void                 *agParam,
788*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
789*4e1bc9a0SAchim Leubner                        );
790*4e1bc9a0SAchim Leubner osGLOBAL void
791*4e1bc9a0SAchim Leubner itdssOpenCnxErrorConnectionRateNotSupportedHandler(
792*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
793*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
794*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
795*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
796*4e1bc9a0SAchim Leubner                        void                 *agParam,
797*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
798*4e1bc9a0SAchim Leubner                        );
799*4e1bc9a0SAchim Leubner 
800*4e1bc9a0SAchim Leubner osGLOBAL void
801*4e1bc9a0SAchim Leubner itdssOpenCnxErrorSTPResourceBusyHandler(
802*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
803*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
804*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
805*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
806*4e1bc9a0SAchim Leubner                        void                 *agParam,
807*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
808*4e1bc9a0SAchim Leubner                        );
809*4e1bc9a0SAchim Leubner osGLOBAL void
810*4e1bc9a0SAchim Leubner itdssOpenCnxErrorWrongDestinationHandler(
811*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
812*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
813*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
814*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
815*4e1bc9a0SAchim Leubner                        void                 *agParam,
816*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
817*4e1bc9a0SAchim Leubner                        );
818*4e1bc9a0SAchim Leubner osGLOBAL void
819*4e1bc9a0SAchim Leubner itdssOpenCnxErrorUnknownErrorHandler(
820*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
821*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
822*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
823*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
824*4e1bc9a0SAchim Leubner                        void                 *agParam,
825*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
826*4e1bc9a0SAchim Leubner                        );
827*4e1bc9a0SAchim Leubner osGLOBAL void
828*4e1bc9a0SAchim Leubner itdssXferErrorNAKReceivedHandler(
829*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
830*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
831*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
832*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
833*4e1bc9a0SAchim Leubner                        void                 *agParam,
834*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
835*4e1bc9a0SAchim Leubner                        );
836*4e1bc9a0SAchim Leubner osGLOBAL void
837*4e1bc9a0SAchim Leubner itdssXferErrorACKNAKTimeoutHandler(
838*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
839*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
840*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
841*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
842*4e1bc9a0SAchim Leubner                        void                 *agParam,
843*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
844*4e1bc9a0SAchim Leubner                        );
845*4e1bc9a0SAchim Leubner osGLOBAL void
846*4e1bc9a0SAchim Leubner itdssXferErrorPeerAbortedHandler(
847*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
848*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
849*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
850*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
851*4e1bc9a0SAchim Leubner                        void                 *agParam,
852*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
853*4e1bc9a0SAchim Leubner                        );
854*4e1bc9a0SAchim Leubner osGLOBAL void
855*4e1bc9a0SAchim Leubner itdssXferErrorRxFrameHandler(
856*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
857*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
858*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
859*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
860*4e1bc9a0SAchim Leubner                        void                 *agParam,
861*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
862*4e1bc9a0SAchim Leubner                        );
863*4e1bc9a0SAchim Leubner osGLOBAL void
864*4e1bc9a0SAchim Leubner itdssXferErrorDMAHandler(
865*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
866*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
867*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
868*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
869*4e1bc9a0SAchim Leubner                        void                 *agParam,
870*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
871*4e1bc9a0SAchim Leubner                        );
872*4e1bc9a0SAchim Leubner osGLOBAL void
873*4e1bc9a0SAchim Leubner itdssXferErrorCreditTimeoutHandler(
874*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
875*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
876*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
877*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
878*4e1bc9a0SAchim Leubner                        void                 *agParam,
879*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
880*4e1bc9a0SAchim Leubner                        );
881*4e1bc9a0SAchim Leubner 
882*4e1bc9a0SAchim Leubner osGLOBAL void
883*4e1bc9a0SAchim Leubner itdssXferErrorCMDIssueACKNAKTimeoutHandler(
884*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
885*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
886*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
887*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
888*4e1bc9a0SAchim Leubner                        void                 *agParam,
889*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
890*4e1bc9a0SAchim Leubner                        );
891*4e1bc9a0SAchim Leubner osGLOBAL void
892*4e1bc9a0SAchim Leubner itdssXferErrorCMDIssueBreakBeforeACKNAKHandler(
893*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
894*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
895*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
896*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
897*4e1bc9a0SAchim Leubner                        void                 *agParam,
898*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
899*4e1bc9a0SAchim Leubner                        );
900*4e1bc9a0SAchim Leubner osGLOBAL void
901*4e1bc9a0SAchim Leubner itdssXferErrorCMDIssuePhyDownBeforeACKNAKHandler(
902*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
903*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
904*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
905*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
906*4e1bc9a0SAchim Leubner                        void                 *agParam,
907*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
908*4e1bc9a0SAchim Leubner                        );
909*4e1bc9a0SAchim Leubner osGLOBAL void
910*4e1bc9a0SAchim Leubner itdssXferErrorDisruptedPhyDownHandler(
911*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
912*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
913*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
914*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
915*4e1bc9a0SAchim Leubner                        void                 *agParam,
916*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
917*4e1bc9a0SAchim Leubner                        );
918*4e1bc9a0SAchim Leubner osGLOBAL void
919*4e1bc9a0SAchim Leubner itdssXferErrorOffsetMismatchHandler(
920*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
921*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
922*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
923*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
924*4e1bc9a0SAchim Leubner                        void                 *agParam,
925*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
926*4e1bc9a0SAchim Leubner                        );
927*4e1bc9a0SAchim Leubner osGLOBAL void
928*4e1bc9a0SAchim Leubner itdssXferErrorXferZeroDataLenHandler(
929*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
930*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
931*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
932*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
933*4e1bc9a0SAchim Leubner                        void                 *agParam,
934*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
935*4e1bc9a0SAchim Leubner                        );
936*4e1bc9a0SAchim Leubner 
937*4e1bc9a0SAchim Leubner osGLOBAL void
938*4e1bc9a0SAchim Leubner itdssXferOpenRetryTimeoutHandler(
939*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
940*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
941*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
942*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
943*4e1bc9a0SAchim Leubner                        void                 *agParam,
944*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
945*4e1bc9a0SAchim Leubner                        );
946*4e1bc9a0SAchim Leubner 
947*4e1bc9a0SAchim Leubner osGLOBAL void
948*4e1bc9a0SAchim Leubner itdssPortInResetHandler(
949*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
950*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
951*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
952*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
953*4e1bc9a0SAchim Leubner                        void                 *agParam,
954*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
955*4e1bc9a0SAchim Leubner                        );
956*4e1bc9a0SAchim Leubner 
957*4e1bc9a0SAchim Leubner osGLOBAL void
958*4e1bc9a0SAchim Leubner itdssDsNonOperationalHandler(
959*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
960*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
961*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
962*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
963*4e1bc9a0SAchim Leubner                        void                 *agParam,
964*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
965*4e1bc9a0SAchim Leubner                        );
966*4e1bc9a0SAchim Leubner osGLOBAL void
967*4e1bc9a0SAchim Leubner itdssDsInRecoveryHandler(
968*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
969*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
970*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
971*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
972*4e1bc9a0SAchim Leubner                        void                 *agParam,
973*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
974*4e1bc9a0SAchim Leubner                        );
975*4e1bc9a0SAchim Leubner osGLOBAL void
976*4e1bc9a0SAchim Leubner itdssTmTagNotFoundHandler(
977*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
978*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
979*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
980*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
981*4e1bc9a0SAchim Leubner                        void                 *agParam,
982*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
983*4e1bc9a0SAchim Leubner                        );
984*4e1bc9a0SAchim Leubner osGLOBAL void
985*4e1bc9a0SAchim Leubner itdssSSPExtIUZeroLenHandler(
986*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
987*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
988*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
989*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
990*4e1bc9a0SAchim Leubner                        void                 *agParam,
991*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
992*4e1bc9a0SAchim Leubner                        );
993*4e1bc9a0SAchim Leubner osGLOBAL void
994*4e1bc9a0SAchim Leubner itdssXferErrorUnexpectedPhaseHandler(
995*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
996*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
997*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
998*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
999*4e1bc9a0SAchim Leubner                        void                 *agParam,
1000*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
1001*4e1bc9a0SAchim Leubner                        );
1002*4e1bc9a0SAchim Leubner 
1003*4e1bc9a0SAchim Leubner #ifdef REMOVED
1004*4e1bc9a0SAchim Leubner osGLOBAL void
1005*4e1bc9a0SAchim Leubner itdssIOUnderFlowWithChkConditionHandler(
1006*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
1007*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
1008*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
1009*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
1010*4e1bc9a0SAchim Leubner                        void                 *agParam
1011*4e1bc9a0SAchim Leubner                        );
1012*4e1bc9a0SAchim Leubner #endif
1013*4e1bc9a0SAchim Leubner 
1014*4e1bc9a0SAchim Leubner osGLOBAL void
1015*4e1bc9a0SAchim Leubner itdssEncryptionHandler (
1016*4e1bc9a0SAchim Leubner                        agsaRoot_t              *agRoot,
1017*4e1bc9a0SAchim Leubner                        agsaIORequest_t         *agIORequest,
1018*4e1bc9a0SAchim Leubner                        bit32                   agIOStatus,
1019*4e1bc9a0SAchim Leubner                        bit32                   agIOInfoLen,
1020*4e1bc9a0SAchim Leubner                        void                    *agParam,
1021*4e1bc9a0SAchim Leubner                        bit32                   agOtherInfo
1022*4e1bc9a0SAchim Leubner                        );
1023*4e1bc9a0SAchim Leubner 
1024*4e1bc9a0SAchim Leubner osGLOBAL void
1025*4e1bc9a0SAchim Leubner itdssXferOpenRetryBackoffThresholdReachedHandler(
1026*4e1bc9a0SAchim Leubner                                                  agsaRoot_t           *agRoot,
1027*4e1bc9a0SAchim Leubner                                                  agsaIORequest_t      *agIORequest,
1028*4e1bc9a0SAchim Leubner                                                  bit32                agIOStatus,
1029*4e1bc9a0SAchim Leubner                                                  bit32                agIOInfoLen,
1030*4e1bc9a0SAchim Leubner                                                  void                 *agParam,
1031*4e1bc9a0SAchim Leubner                                                  bit32                agOtherInfo
1032*4e1bc9a0SAchim Leubner                                                 );
1033*4e1bc9a0SAchim Leubner 
1034*4e1bc9a0SAchim Leubner osGLOBAL void
1035*4e1bc9a0SAchim Leubner itdssOpenCnxErrorItNexusLossOpenTmoHandler(
1036*4e1bc9a0SAchim Leubner                                            agsaRoot_t           *agRoot,
1037*4e1bc9a0SAchim Leubner                                            agsaIORequest_t      *agIORequest,
1038*4e1bc9a0SAchim Leubner                                            bit32                agIOStatus,
1039*4e1bc9a0SAchim Leubner                                            bit32                agIOInfoLen,
1040*4e1bc9a0SAchim Leubner                                            void                 *agParam,
1041*4e1bc9a0SAchim Leubner                                            bit32                agOtherInfo
1042*4e1bc9a0SAchim Leubner                                           );
1043*4e1bc9a0SAchim Leubner osGLOBAL void
1044*4e1bc9a0SAchim Leubner itdssOpenCnxErrorItNexusLossNoDestHandler(
1045*4e1bc9a0SAchim Leubner                                           agsaRoot_t           *agRoot,
1046*4e1bc9a0SAchim Leubner                                           agsaIORequest_t      *agIORequest,
1047*4e1bc9a0SAchim Leubner                                           bit32                agIOStatus,
1048*4e1bc9a0SAchim Leubner                                           bit32                agIOInfoLen,
1049*4e1bc9a0SAchim Leubner                                           void                 *agParam,
1050*4e1bc9a0SAchim Leubner                                           bit32                agOtherInfo
1051*4e1bc9a0SAchim Leubner                                          );
1052*4e1bc9a0SAchim Leubner osGLOBAL void
1053*4e1bc9a0SAchim Leubner itdssOpenCnxErrorItNexusLossOpenCollideHandler(
1054*4e1bc9a0SAchim Leubner                                                agsaRoot_t           *agRoot,
1055*4e1bc9a0SAchim Leubner                                                agsaIORequest_t      *agIORequest,
1056*4e1bc9a0SAchim Leubner                                                bit32                agIOStatus,
1057*4e1bc9a0SAchim Leubner                                                bit32                agIOInfoLen,
1058*4e1bc9a0SAchim Leubner                                                void                 *agParam,
1059*4e1bc9a0SAchim Leubner                                                bit32                agOtherInfo
1060*4e1bc9a0SAchim Leubner                                               );
1061*4e1bc9a0SAchim Leubner osGLOBAL void
1062*4e1bc9a0SAchim Leubner itdssOpenCnxErrorItNexusLossOpenPathwayBlockedHandler(
1063*4e1bc9a0SAchim Leubner                                                       agsaRoot_t           *agRoot,
1064*4e1bc9a0SAchim Leubner                                                       agsaIORequest_t      *agIORequest,
1065*4e1bc9a0SAchim Leubner                                                       bit32                agIOStatus,
1066*4e1bc9a0SAchim Leubner                                                       bit32                agIOInfoLen,
1067*4e1bc9a0SAchim Leubner                                                       void                 *agParam,
1068*4e1bc9a0SAchim Leubner                                                       bit32                agOtherInfo
1069*4e1bc9a0SAchim Leubner                                                      );
1070*4e1bc9a0SAchim Leubner osGLOBAL void
1071*4e1bc9a0SAchim Leubner itdssDifHandler(
1072*4e1bc9a0SAchim Leubner                 agsaRoot_t           *agRoot,
1073*4e1bc9a0SAchim Leubner                 agsaIORequest_t      *agIORequest,
1074*4e1bc9a0SAchim Leubner                 bit32                agIOStatus,
1075*4e1bc9a0SAchim Leubner                 bit32                agIOInfoLen,
1076*4e1bc9a0SAchim Leubner                 void                 *agParam,
1077*4e1bc9a0SAchim Leubner                 bit32                agOtherInfo
1078*4e1bc9a0SAchim Leubner                );
1079*4e1bc9a0SAchim Leubner 
1080*4e1bc9a0SAchim Leubner osGLOBAL void
1081*4e1bc9a0SAchim Leubner itdssIOResourceUnavailableHandler(
1082*4e1bc9a0SAchim Leubner                                   agsaRoot_t              *agRoot,
1083*4e1bc9a0SAchim Leubner                                   agsaIORequest_t         *agIORequest,
1084*4e1bc9a0SAchim Leubner                                   bit32                   agIOStatus,
1085*4e1bc9a0SAchim Leubner                                   bit32                   agIOInfoLen,
1086*4e1bc9a0SAchim Leubner                                   void                    *agParam,
1087*4e1bc9a0SAchim Leubner                                   bit32                   agOtherInfo
1088*4e1bc9a0SAchim Leubner                                  );
1089*4e1bc9a0SAchim Leubner 
1090*4e1bc9a0SAchim Leubner osGLOBAL void
1091*4e1bc9a0SAchim Leubner itdssIORQEBusyFullHandler(
1092*4e1bc9a0SAchim Leubner                                   agsaRoot_t              *agRoot,
1093*4e1bc9a0SAchim Leubner                                   agsaIORequest_t         *agIORequest,
1094*4e1bc9a0SAchim Leubner                                   bit32                   agIOStatus,
1095*4e1bc9a0SAchim Leubner                                   bit32                   agIOInfoLen,
1096*4e1bc9a0SAchim Leubner                                   void                    *agParam,
1097*4e1bc9a0SAchim Leubner                                   bit32                   agOtherInfo
1098*4e1bc9a0SAchim Leubner                                  );
1099*4e1bc9a0SAchim Leubner 
1100*4e1bc9a0SAchim Leubner osGLOBAL void
1101*4e1bc9a0SAchim Leubner itdssXferErrorInvalidSSPRspFrameHandler(
1102*4e1bc9a0SAchim Leubner                                   agsaRoot_t              *agRoot,
1103*4e1bc9a0SAchim Leubner                                   agsaIORequest_t         *agIORequest,
1104*4e1bc9a0SAchim Leubner                                   bit32                   agIOStatus,
1105*4e1bc9a0SAchim Leubner                                   bit32                   agIOInfoLen,
1106*4e1bc9a0SAchim Leubner                                   void                    *agParam,
1107*4e1bc9a0SAchim Leubner                                   bit32                   agOtherInfo
1108*4e1bc9a0SAchim Leubner                                  );
1109*4e1bc9a0SAchim Leubner 
1110*4e1bc9a0SAchim Leubner osGLOBAL void
1111*4e1bc9a0SAchim Leubner itdssXferErrorEOBDataOverrunHandler(
1112*4e1bc9a0SAchim Leubner                                   agsaRoot_t              *agRoot,
1113*4e1bc9a0SAchim Leubner                                   agsaIORequest_t         *agIORequest,
1114*4e1bc9a0SAchim Leubner                                   bit32                   agIOStatus,
1115*4e1bc9a0SAchim Leubner                                   bit32                   agIOInfoLen,
1116*4e1bc9a0SAchim Leubner                                   void                    *agParam,
1117*4e1bc9a0SAchim Leubner                                   bit32                   agOtherInfo
1118*4e1bc9a0SAchim Leubner                                  );
1119*4e1bc9a0SAchim Leubner 
1120*4e1bc9a0SAchim Leubner osGLOBAL void
1121*4e1bc9a0SAchim Leubner itdssOpenCnxErrorOpenPreemptedHandler(
1122*4e1bc9a0SAchim Leubner                                   agsaRoot_t              *agRoot,
1123*4e1bc9a0SAchim Leubner                                   agsaIORequest_t         *agIORequest,
1124*4e1bc9a0SAchim Leubner                                   bit32                   agIOStatus,
1125*4e1bc9a0SAchim Leubner                                   bit32                   agIOInfoLen,
1126*4e1bc9a0SAchim Leubner                                   void                    *agParam,
1127*4e1bc9a0SAchim Leubner                                   bit32                   agOtherInfo
1128*4e1bc9a0SAchim Leubner                                  );
1129*4e1bc9a0SAchim Leubner 
1130*4e1bc9a0SAchim Leubner /* default handler */
1131*4e1bc9a0SAchim Leubner osGLOBAL void
1132*4e1bc9a0SAchim Leubner itdssIODefaultHandler (
1133*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
1134*4e1bc9a0SAchim Leubner                        agsaIORequest_t      *agIORequest,
1135*4e1bc9a0SAchim Leubner                        bit32                agIOStatus,
1136*4e1bc9a0SAchim Leubner                        bit32                agIOInfoLen,
1137*4e1bc9a0SAchim Leubner                        void                 *agParam,
1138*4e1bc9a0SAchim Leubner                        bit32                agOtherInfo
1139*4e1bc9a0SAchim Leubner                        );
1140*4e1bc9a0SAchim Leubner osGLOBAL void
1141*4e1bc9a0SAchim Leubner itdssIOForDebugging1Completed(
1142*4e1bc9a0SAchim Leubner                  agsaRoot_t             *agRoot,
1143*4e1bc9a0SAchim Leubner                  agsaIORequest_t        *agIORequest,
1144*4e1bc9a0SAchim Leubner                  bit32                  agIOStatus,
1145*4e1bc9a0SAchim Leubner                  bit32                  agIOInfoLen,
1146*4e1bc9a0SAchim Leubner                  void                   *agParam,
1147*4e1bc9a0SAchim Leubner                  bit32                  agOtherInfo
1148*4e1bc9a0SAchim Leubner                  );
1149*4e1bc9a0SAchim Leubner 
1150*4e1bc9a0SAchim Leubner osGLOBAL void
1151*4e1bc9a0SAchim Leubner itdssIOForDebugging2Completed(
1152*4e1bc9a0SAchim Leubner                  agsaRoot_t             *agRoot,
1153*4e1bc9a0SAchim Leubner                  agsaIORequest_t        *agIORequest,
1154*4e1bc9a0SAchim Leubner                  bit32                  agIOStatus,
1155*4e1bc9a0SAchim Leubner                  bit32                  agIOInfoLen,
1156*4e1bc9a0SAchim Leubner                  void                   *agParam,
1157*4e1bc9a0SAchim Leubner                  bit32                  agOtherInfo
1158*4e1bc9a0SAchim Leubner                  );
1159*4e1bc9a0SAchim Leubner 
1160*4e1bc9a0SAchim Leubner osGLOBAL void
1161*4e1bc9a0SAchim Leubner itdssIOForDebugging3Completed(
1162*4e1bc9a0SAchim Leubner                  agsaRoot_t             *agRoot,
1163*4e1bc9a0SAchim Leubner                  agsaIORequest_t        *agIORequest,
1164*4e1bc9a0SAchim Leubner                  bit32                  agIOStatus,
1165*4e1bc9a0SAchim Leubner                  bit32                  agIOInfoLen,
1166*4e1bc9a0SAchim Leubner                  void                   *agParam,
1167*4e1bc9a0SAchim Leubner                  bit32                  agOtherInfo
1168*4e1bc9a0SAchim Leubner                  );
1169*4e1bc9a0SAchim Leubner 
1170*4e1bc9a0SAchim Leubner osGLOBAL void
1171*4e1bc9a0SAchim Leubner itdssInitDiscoveryModule (
1172*4e1bc9a0SAchim Leubner                           tiRoot_t *tiRoot
1173*4e1bc9a0SAchim Leubner                           );
1174*4e1bc9a0SAchim Leubner 
1175*4e1bc9a0SAchim Leubner osGLOBAL void
1176*4e1bc9a0SAchim Leubner itdssGetResource (
1177*4e1bc9a0SAchim Leubner                   tiRoot_t              *tiRoot,
1178*4e1bc9a0SAchim Leubner                   tiInitiatorResource_t *initiatorResource
1179*4e1bc9a0SAchim Leubner                   );
1180*4e1bc9a0SAchim Leubner 
1181*4e1bc9a0SAchim Leubner 
1182*4e1bc9a0SAchim Leubner osGLOBAL void
1183*4e1bc9a0SAchim Leubner itdssGetOperatingOptionParams(
1184*4e1bc9a0SAchim Leubner                               tiRoot_t              *tiRoot,
1185*4e1bc9a0SAchim Leubner                               itdssOperatingOption_t  *OperatingOption
1186*4e1bc9a0SAchim Leubner                               );
1187*4e1bc9a0SAchim Leubner 
1188*4e1bc9a0SAchim Leubner 
1189*4e1bc9a0SAchim Leubner osGLOBAL FORCEINLINE bit32
1190*4e1bc9a0SAchim Leubner itdssIOPrepareSGL(
1191*4e1bc9a0SAchim Leubner                   tiRoot_t            *tiRoot,
1192*4e1bc9a0SAchim Leubner                   tdIORequestBody_t   *IORequestBody,
1193*4e1bc9a0SAchim Leubner                   tiSgl_t             *tiSgl1,
1194*4e1bc9a0SAchim Leubner                   void                *sglVirtualAddr
1195*4e1bc9a0SAchim Leubner                   );
1196*4e1bc9a0SAchim Leubner 
1197*4e1bc9a0SAchim Leubner #ifdef FDS_SM
1198*4e1bc9a0SAchim Leubner osGLOBAL void
1199*4e1bc9a0SAchim Leubner smReportRemoval(
1200*4e1bc9a0SAchim Leubner                  tiRoot_t             *tiRoot,
1201*4e1bc9a0SAchim Leubner                  agsaRoot_t           *agRoot,
1202*4e1bc9a0SAchim Leubner                  tdsaDeviceData_t     *oneDeviceData,
1203*4e1bc9a0SAchim Leubner                  tdsaPortContext_t    *onePortContext
1204*4e1bc9a0SAchim Leubner 	       );
1205*4e1bc9a0SAchim Leubner osGLOBAL void
1206*4e1bc9a0SAchim Leubner smReportRemovalDirect(
1207*4e1bc9a0SAchim Leubner                        tiRoot_t             *tiRoot,
1208*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
1209*4e1bc9a0SAchim Leubner                        tdsaDeviceData_t     *oneDeviceData
1210*4e1bc9a0SAchim Leubner 		     );
1211*4e1bc9a0SAchim Leubner osGLOBAL void
1212*4e1bc9a0SAchim Leubner smHandleDirect(
1213*4e1bc9a0SAchim Leubner                 tiRoot_t             *tiRoot,
1214*4e1bc9a0SAchim Leubner                 agsaRoot_t           *agRoot,
1215*4e1bc9a0SAchim Leubner                 tdsaDeviceData_t     *oneDeviceData,
1216*4e1bc9a0SAchim Leubner                 void                 *IDdata
1217*4e1bc9a0SAchim Leubner 	      );
1218*4e1bc9a0SAchim Leubner 
1219*4e1bc9a0SAchim Leubner osGLOBAL void
1220*4e1bc9a0SAchim Leubner ossaSATAIDAbortCB(
1221*4e1bc9a0SAchim Leubner                   agsaRoot_t               *agRoot,
1222*4e1bc9a0SAchim Leubner                   agsaIORequest_t          *agIORequest,
1223*4e1bc9a0SAchim Leubner                   bit32                    flag,
1224*4e1bc9a0SAchim Leubner                   bit32                    status
1225*4e1bc9a0SAchim Leubner                  );
1226*4e1bc9a0SAchim Leubner 
1227*4e1bc9a0SAchim Leubner osGLOBAL void
1228*4e1bc9a0SAchim Leubner ossaIniSetDeviceInfoCB(
1229*4e1bc9a0SAchim Leubner                         agsaRoot_t        *agRoot,
1230*4e1bc9a0SAchim Leubner                         agsaContext_t     *agContext,
1231*4e1bc9a0SAchim Leubner                         agsaDevHandle_t   *agDevHandle,
1232*4e1bc9a0SAchim Leubner                         bit32             status,
1233*4e1bc9a0SAchim Leubner                         bit32             option,
1234*4e1bc9a0SAchim Leubner                         bit32             param
1235*4e1bc9a0SAchim Leubner                       );
1236*4e1bc9a0SAchim Leubner 
1237*4e1bc9a0SAchim Leubner #endif /* FDS_SM */
1238*4e1bc9a0SAchim Leubner 
1239*4e1bc9a0SAchim Leubner #endif /* INITIATOR_DRIVER */
1240*4e1bc9a0SAchim Leubner 
1241*4e1bc9a0SAchim Leubner #ifdef TARGET_DRIVER
1242*4e1bc9a0SAchim Leubner /*****************************************************************************
1243*4e1bc9a0SAchim Leubner *
1244*4e1bc9a0SAchim Leubner * SAS Target only PROTOTYPES (ttdproto.h)
1245*4e1bc9a0SAchim Leubner *
1246*4e1bc9a0SAchim Leubner *****************************************************************************/
1247*4e1bc9a0SAchim Leubner osGLOBAL bit32
1248*4e1bc9a0SAchim Leubner ttdssInit(
1249*4e1bc9a0SAchim Leubner           tiRoot_t              *tiRoot,
1250*4e1bc9a0SAchim Leubner           tiTargetResource_t    *targetResource,
1251*4e1bc9a0SAchim Leubner           tiTdSharedMem_t       *tdSharedMem
1252*4e1bc9a0SAchim Leubner           );
1253*4e1bc9a0SAchim Leubner 
1254*4e1bc9a0SAchim Leubner osGLOBAL void
1255*4e1bc9a0SAchim Leubner ttdssGetResource (
1256*4e1bc9a0SAchim Leubner                   tiRoot_t              *tiRoot,
1257*4e1bc9a0SAchim Leubner                   tiTargetResource_t    *targetResource
1258*4e1bc9a0SAchim Leubner                   );
1259*4e1bc9a0SAchim Leubner 
1260*4e1bc9a0SAchim Leubner osGLOBAL void
1261*4e1bc9a0SAchim Leubner ttdssGetTargetParams(
1262*4e1bc9a0SAchim Leubner                      tiRoot_t          *tiRoot
1263*4e1bc9a0SAchim Leubner                      );
1264*4e1bc9a0SAchim Leubner 
1265*4e1bc9a0SAchim Leubner osGLOBAL void
1266*4e1bc9a0SAchim Leubner ttdssGetOperatingOptionParams(
1267*4e1bc9a0SAchim Leubner                               tiRoot_t                *tiRoot,
1268*4e1bc9a0SAchim Leubner                               ttdssOperatingOption_t  *OperatingOption
1269*4e1bc9a0SAchim Leubner                               );
1270*4e1bc9a0SAchim Leubner 
1271*4e1bc9a0SAchim Leubner osGLOBAL agBOOLEAN
1272*4e1bc9a0SAchim Leubner ttdsaXchgInit(
1273*4e1bc9a0SAchim Leubner               tiRoot_t           *tiRoot,
1274*4e1bc9a0SAchim Leubner               ttdsaXchgData_t    *ttdsaXchgData,
1275*4e1bc9a0SAchim Leubner               tiTargetMem_t      *tgtMem,
1276*4e1bc9a0SAchim Leubner               bit32              maxNumXchgs
1277*4e1bc9a0SAchim Leubner               );
1278*4e1bc9a0SAchim Leubner 
1279*4e1bc9a0SAchim Leubner osGLOBAL void
1280*4e1bc9a0SAchim Leubner ttdsaXchgLinkInit(
1281*4e1bc9a0SAchim Leubner                    tiRoot_t           *tiRoot,
1282*4e1bc9a0SAchim Leubner                    ttdsaXchg_t        *ttdsaXchg
1283*4e1bc9a0SAchim Leubner                    );
1284*4e1bc9a0SAchim Leubner 
1285*4e1bc9a0SAchim Leubner 
1286*4e1bc9a0SAchim Leubner osGLOBAL void
1287*4e1bc9a0SAchim Leubner ttdsaXchgFreeStruct(
1288*4e1bc9a0SAchim Leubner                    tiRoot_t           *tiRoot,
1289*4e1bc9a0SAchim Leubner                    ttdsaXchg_t        *ttdsaXchg
1290*4e1bc9a0SAchim Leubner                    );
1291*4e1bc9a0SAchim Leubner osGLOBAL void
1292*4e1bc9a0SAchim Leubner ttdsaSSPReqReceived(
1293*4e1bc9a0SAchim Leubner                    agsaRoot_t           *agRoot,
1294*4e1bc9a0SAchim Leubner                    agsaDevHandle_t      *agDevHandle,
1295*4e1bc9a0SAchim Leubner                    agsaFrameHandle_t    agFrameHandle,
1296*4e1bc9a0SAchim Leubner                    bit32                agInitiatorTag,
1297*4e1bc9a0SAchim Leubner                    bit32                parameter,
1298*4e1bc9a0SAchim Leubner                    bit32                agFrameLen
1299*4e1bc9a0SAchim Leubner                    );
1300*4e1bc9a0SAchim Leubner 
1301*4e1bc9a0SAchim Leubner osGLOBAL ttdsaXchg_t
1302*4e1bc9a0SAchim Leubner *ttdsaXchgGetStruct(
1303*4e1bc9a0SAchim Leubner                     agsaRoot_t *agRoot
1304*4e1bc9a0SAchim Leubner                     );
1305*4e1bc9a0SAchim Leubner osGLOBAL void
1306*4e1bc9a0SAchim Leubner ttdsaDumpallXchg(tiRoot_t           *tiRoot);
1307*4e1bc9a0SAchim Leubner 
1308*4e1bc9a0SAchim Leubner osGLOBAL void
1309*4e1bc9a0SAchim Leubner tdsaProcessCDB(
1310*4e1bc9a0SAchim Leubner                agsaSSPCmdInfoUnit_t      *cmdIU,
1311*4e1bc9a0SAchim Leubner                ttdsaXchg_t               *ttdsaXchg
1312*4e1bc9a0SAchim Leubner                );
1313*4e1bc9a0SAchim Leubner 
1314*4e1bc9a0SAchim Leubner osGLOBAL bit32
1315*4e1bc9a0SAchim Leubner ttdssIOPrepareSGL(
1316*4e1bc9a0SAchim Leubner                   tiRoot_t                 *tiRoot,
1317*4e1bc9a0SAchim Leubner                   tdIORequestBody_t        *tdIORequestBody,
1318*4e1bc9a0SAchim Leubner                   tiSgl_t                  *tiSgl1,
1319*4e1bc9a0SAchim Leubner                   tiSgl_t                  *tiSgl2,
1320*4e1bc9a0SAchim Leubner                   void                     *sglVirtualAddr);
1321*4e1bc9a0SAchim Leubner 
1322*4e1bc9a0SAchim Leubner osGLOBAL void
1323*4e1bc9a0SAchim Leubner ttdsaIOCompleted(
1324*4e1bc9a0SAchim Leubner                  agsaRoot_t             *agRoot,
1325*4e1bc9a0SAchim Leubner                  agsaIORequest_t        *agIORequest,
1326*4e1bc9a0SAchim Leubner                  bit32                  agIOStatus,
1327*4e1bc9a0SAchim Leubner                  bit32                  agIOInfoLen,
1328*4e1bc9a0SAchim Leubner                  agsaFrameHandle_t      agFrameHandle,
1329*4e1bc9a0SAchim Leubner                  bit32                  agOtherInfo
1330*4e1bc9a0SAchim Leubner                  );
1331*4e1bc9a0SAchim Leubner 
1332*4e1bc9a0SAchim Leubner osGLOBAL void
1333*4e1bc9a0SAchim Leubner ttdsaTMProcess(
1334*4e1bc9a0SAchim Leubner                tiRoot_t    *tiRoot,
1335*4e1bc9a0SAchim Leubner                ttdsaXchg_t *ttdsaXchg
1336*4e1bc9a0SAchim Leubner                );
1337*4e1bc9a0SAchim Leubner 
1338*4e1bc9a0SAchim Leubner osGLOBAL void
1339*4e1bc9a0SAchim Leubner ttdsaSMPReqReceived(
1340*4e1bc9a0SAchim Leubner                     agsaRoot_t            *agRoot,
1341*4e1bc9a0SAchim Leubner                     agsaDevHandle_t       *agDevHandle,
1342*4e1bc9a0SAchim Leubner                     agsaSMPFrameHeader_t  *agFrameHeader,
1343*4e1bc9a0SAchim Leubner                     agsaFrameHandle_t     agFrameHandle,
1344*4e1bc9a0SAchim Leubner                     bit32                 agFrameLength,
1345*4e1bc9a0SAchim Leubner                     bit32                 phyId
1346*4e1bc9a0SAchim Leubner                     );
1347*4e1bc9a0SAchim Leubner osGLOBAL void
1348*4e1bc9a0SAchim Leubner ttdsaSMPCompleted(
1349*4e1bc9a0SAchim Leubner                   agsaRoot_t            *agRoot,
1350*4e1bc9a0SAchim Leubner                   agsaIORequest_t       *agIORequest,
1351*4e1bc9a0SAchim Leubner                   bit32                 agIOStatus,
1352*4e1bc9a0SAchim Leubner                   //agsaSMPFrameHeader_t  *agFrameHeader,   (TP)
1353*4e1bc9a0SAchim Leubner                   bit32                 agIOInfoLen,
1354*4e1bc9a0SAchim Leubner                   agsaFrameHandle_t     agFrameHandle
1355*4e1bc9a0SAchim Leubner                   );
1356*4e1bc9a0SAchim Leubner osGLOBAL bit32
1357*4e1bc9a0SAchim Leubner ttdsaSendResp(
1358*4e1bc9a0SAchim Leubner               agsaRoot_t            *agRoot,
1359*4e1bc9a0SAchim Leubner               ttdsaXchg_t           *ttdsaXchg
1360*4e1bc9a0SAchim Leubner               );
1361*4e1bc9a0SAchim Leubner 
1362*4e1bc9a0SAchim Leubner osGLOBAL void
1363*4e1bc9a0SAchim Leubner ttdssReportRemovals(
1364*4e1bc9a0SAchim Leubner                     agsaRoot_t           *agRoot,
1365*4e1bc9a0SAchim Leubner                     tdsaPortContext_t    *onePortContext,
1366*4e1bc9a0SAchim Leubner                     bit32                flag
1367*4e1bc9a0SAchim Leubner                     );
1368*4e1bc9a0SAchim Leubner 
1369*4e1bc9a0SAchim Leubner 
1370*4e1bc9a0SAchim Leubner osGLOBAL void
1371*4e1bc9a0SAchim Leubner ttdsaAbortAll(
1372*4e1bc9a0SAchim Leubner              tiRoot_t                   *tiRoot,
1373*4e1bc9a0SAchim Leubner              agsaRoot_t                 *agRoot,
1374*4e1bc9a0SAchim Leubner              tdsaDeviceData_t           *oneDeviceData
1375*4e1bc9a0SAchim Leubner              );
1376*4e1bc9a0SAchim Leubner 
1377*4e1bc9a0SAchim Leubner osGLOBAL void
1378*4e1bc9a0SAchim Leubner ttdssIOAbortedHandler(
1379*4e1bc9a0SAchim Leubner                       agsaRoot_t           *agRoot,
1380*4e1bc9a0SAchim Leubner                       agsaIORequest_t      *agIORequest,
1381*4e1bc9a0SAchim Leubner                       bit32                agIOStatus,
1382*4e1bc9a0SAchim Leubner                       bit32                agIOInfoLen,
1383*4e1bc9a0SAchim Leubner                       void                 *agParam,
1384*4e1bc9a0SAchim Leubner                       bit32                agOtherInfo
1385*4e1bc9a0SAchim Leubner                       );
1386*4e1bc9a0SAchim Leubner 
1387*4e1bc9a0SAchim Leubner #endif /* TARGET_DRIVER */
1388*4e1bc9a0SAchim Leubner 
1389*4e1bc9a0SAchim Leubner 
1390*4e1bc9a0SAchim Leubner 
1391*4e1bc9a0SAchim Leubner /*****************************************************************************
1392*4e1bc9a0SAchim Leubner *
1393*4e1bc9a0SAchim Leubner * For debugging only
1394*4e1bc9a0SAchim Leubner *
1395*4e1bc9a0SAchim Leubner *****************************************************************************/
1396*4e1bc9a0SAchim Leubner osGLOBAL void
1397*4e1bc9a0SAchim Leubner tdsaPrintSwConfig(
1398*4e1bc9a0SAchim Leubner                 agsaSwConfig_t *SwConfig
1399*4e1bc9a0SAchim Leubner                 );
1400*4e1bc9a0SAchim Leubner 
1401*4e1bc9a0SAchim Leubner osGLOBAL void
1402*4e1bc9a0SAchim Leubner tdsaPrintHwConfig(
1403*4e1bc9a0SAchim Leubner                 agsaHwConfig_t *HwConfig
1404*4e1bc9a0SAchim Leubner                 );
1405*4e1bc9a0SAchim Leubner osGLOBAL void
1406*4e1bc9a0SAchim Leubner tdssPrintSASIdentify(
1407*4e1bc9a0SAchim Leubner                      agsaSASIdentify_t *id
1408*4e1bc9a0SAchim Leubner                      );
1409*4e1bc9a0SAchim Leubner osGLOBAL void
1410*4e1bc9a0SAchim Leubner print_tdlist_flink(tdList_t *hdr, int type, int flag);
1411*4e1bc9a0SAchim Leubner 
1412*4e1bc9a0SAchim Leubner osGLOBAL void
1413*4e1bc9a0SAchim Leubner print_tdlist_blink(tdList_t *hdr, int flag);
1414*4e1bc9a0SAchim Leubner 
1415*4e1bc9a0SAchim Leubner osGLOBAL void
1416*4e1bc9a0SAchim Leubner tdhexdump(const char *ptitle, bit8 *pbuf, int len);
1417*4e1bc9a0SAchim Leubner 
1418*4e1bc9a0SAchim Leubner 
1419*4e1bc9a0SAchim Leubner /*****************************************************************************
1420*4e1bc9a0SAchim Leubner *
1421*4e1bc9a0SAchim Leubner * SAT only PROTOTYPE
1422*4e1bc9a0SAchim Leubner *
1423*4e1bc9a0SAchim Leubner *****************************************************************************/
1424*4e1bc9a0SAchim Leubner 
1425*4e1bc9a0SAchim Leubner #ifdef  SATA_ENABLE
1426*4e1bc9a0SAchim Leubner 
1427*4e1bc9a0SAchim Leubner /*****************************************************************************
1428*4e1bc9a0SAchim Leubner  *! \brief  satIOStart
1429*4e1bc9a0SAchim Leubner  *
1430*4e1bc9a0SAchim Leubner  *   This routine is called to initiate a new SCSI request to SATL.
1431*4e1bc9a0SAchim Leubner  *
1432*4e1bc9a0SAchim Leubner  *  \param   tiRoot:           Pointer to TISA initiator driver/port instance.
1433*4e1bc9a0SAchim Leubner  *  \param   tiIORequest:      Pointer to TISA I/O request context for this I/O.
1434*4e1bc9a0SAchim Leubner  *  \param   tiDeviceHandle:   Pointer to TISA device handle for this I/O.
1435*4e1bc9a0SAchim Leubner  *  \param   tiScsiRequest:    Pointer to TISA SCSI I/O request and SGL list.
1436*4e1bc9a0SAchim Leubner  *  \param   satIOContext_t:   Pointer to the SAT IO Context
1437*4e1bc9a0SAchim Leubner  *
1438*4e1bc9a0SAchim Leubner  *  \return:
1439*4e1bc9a0SAchim Leubner  *
1440*4e1bc9a0SAchim Leubner  *  \e tiSuccess:     I/O request successfully initiated.
1441*4e1bc9a0SAchim Leubner  *  \e tiBusy:        No resources available, try again later.
1442*4e1bc9a0SAchim Leubner  *  \e tiIONoDevice:  Invalid device handle.
1443*4e1bc9a0SAchim Leubner  *  \e tiError:       Other errors that prevent the I/O request to be started.
1444*4e1bc9a0SAchim Leubner  *
1445*4e1bc9a0SAchim Leubner  *
1446*4e1bc9a0SAchim Leubner  *****************************************************************************/
1447*4e1bc9a0SAchim Leubner 
1448*4e1bc9a0SAchim Leubner GLOBAL bit32  satIOStart(
1449*4e1bc9a0SAchim Leubner                    tiRoot_t                  *tiRoot,
1450*4e1bc9a0SAchim Leubner                    tiIORequest_t             *tiIORequest,
1451*4e1bc9a0SAchim Leubner                    tiDeviceHandle_t          *tiDeviceHandle,
1452*4e1bc9a0SAchim Leubner                    tiScsiInitiatorRequest_t *tiScsiRequest,
1453*4e1bc9a0SAchim Leubner                    satIOContext_t            *satIOContext
1454*4e1bc9a0SAchim Leubner                   );
1455*4e1bc9a0SAchim Leubner 
1456*4e1bc9a0SAchim Leubner /*****************************************************************************
1457*4e1bc9a0SAchim Leubner  *! \brief  satIOAbort
1458*4e1bc9a0SAchim Leubner  *
1459*4e1bc9a0SAchim Leubner  *   This routine is called to initiate a I/O abort to SATL.
1460*4e1bc9a0SAchim Leubner  *   This routine is independent of HW/LL API.
1461*4e1bc9a0SAchim Leubner  *
1462*4e1bc9a0SAchim Leubner  *  \param  tiRoot:     Pointer to TISA initiator driver/port instance.
1463*4e1bc9a0SAchim Leubner  *  \param  taskTag:    Pointer to TISA I/O request context/tag to be aborted.
1464*4e1bc9a0SAchim Leubner  *
1465*4e1bc9a0SAchim Leubner  *  \return:
1466*4e1bc9a0SAchim Leubner  *
1467*4e1bc9a0SAchim Leubner  *  \e tiSuccess:     I/O request successfully initiated.
1468*4e1bc9a0SAchim Leubner  *  \e tiBusy:        No resources available, try again later.
1469*4e1bc9a0SAchim Leubner  *  \e tiError:       Other errors that prevent the I/O request to be started.
1470*4e1bc9a0SAchim Leubner  *
1471*4e1bc9a0SAchim Leubner  *
1472*4e1bc9a0SAchim Leubner  *****************************************************************************/
1473*4e1bc9a0SAchim Leubner 
1474*4e1bc9a0SAchim Leubner GLOBAL bit32 satIOAbort(
1475*4e1bc9a0SAchim Leubner                           tiRoot_t      *tiRoot,
1476*4e1bc9a0SAchim Leubner                           tiIORequest_t *taskTag );
1477*4e1bc9a0SAchim Leubner 
1478*4e1bc9a0SAchim Leubner 
1479*4e1bc9a0SAchim Leubner /*****************************************************************************
1480*4e1bc9a0SAchim Leubner  *! \brief  satTM
1481*4e1bc9a0SAchim Leubner  *
1482*4e1bc9a0SAchim Leubner  *   This routine is called to initiate a TM request to SATL.
1483*4e1bc9a0SAchim Leubner  *   This routine is independent of HW/LL API.
1484*4e1bc9a0SAchim Leubner  *
1485*4e1bc9a0SAchim Leubner  *  \param  tiRoot:           Pointer to TISA initiator driver/port instance.
1486*4e1bc9a0SAchim Leubner  *  \param  tiDeviceHandle:   Pointer to TISA device handle for this I/O.
1487*4e1bc9a0SAchim Leubner  *  \param  task:             SAM-3 task management request.
1488*4e1bc9a0SAchim Leubner  *  \param  lun:              Pointer to LUN.
1489*4e1bc9a0SAchim Leubner  *  \param  taskTag:          Pointer to the associated task where the TM
1490*4e1bc9a0SAchim Leubner  *                            command is to be applied.
1491*4e1bc9a0SAchim Leubner  *  \param  currentTaskTag:   Pointer to tag/context for this TM request.
1492*4e1bc9a0SAchim Leubner  *
1493*4e1bc9a0SAchim Leubner  *  \return:
1494*4e1bc9a0SAchim Leubner  *
1495*4e1bc9a0SAchim Leubner  *  \e tiSuccess:     I/O request successfully initiated.
1496*4e1bc9a0SAchim Leubner  *  \e tiBusy:        No resources available, try again later.
1497*4e1bc9a0SAchim Leubner  *  \e tiIONoDevice:  Invalid device handle.
1498*4e1bc9a0SAchim Leubner  *  \e tiError:       Other errors that prevent the I/O request to be started.
1499*4e1bc9a0SAchim Leubner  *
1500*4e1bc9a0SAchim Leubner  *
1501*4e1bc9a0SAchim Leubner  *****************************************************************************/
1502*4e1bc9a0SAchim Leubner 
1503*4e1bc9a0SAchim Leubner osGLOBAL bit32 satTM(
1504*4e1bc9a0SAchim Leubner                         tiRoot_t          *tiRoot,
1505*4e1bc9a0SAchim Leubner                         tiDeviceHandle_t  *tiDeviceHandle,
1506*4e1bc9a0SAchim Leubner                         bit32             task,
1507*4e1bc9a0SAchim Leubner                         tiLUN_t           *lun,
1508*4e1bc9a0SAchim Leubner                         tiIORequest_t     *taskTag,
1509*4e1bc9a0SAchim Leubner                         tiIORequest_t     *currentTaskTag,
1510*4e1bc9a0SAchim Leubner                         tdIORequestBody_t *tiRequestBody,
1511*4e1bc9a0SAchim Leubner                         bit32              NotifyOS
1512*4e1bc9a0SAchim Leubner                         );
1513*4e1bc9a0SAchim Leubner 
1514*4e1bc9a0SAchim Leubner 
1515*4e1bc9a0SAchim Leubner #endif  /* SAT only */
1516*4e1bc9a0SAchim Leubner 
1517*4e1bc9a0SAchim Leubner #ifdef INITIATOR_DRIVER
1518*4e1bc9a0SAchim Leubner #ifdef TD_DISCOVER
1519*4e1bc9a0SAchim Leubner 
1520*4e1bc9a0SAchim Leubner osGLOBAL void
1521*4e1bc9a0SAchim Leubner tdsaExpanderInit(
1522*4e1bc9a0SAchim Leubner                  tiRoot_t *tiRoot
1523*4e1bc9a0SAchim Leubner                  );
1524*4e1bc9a0SAchim Leubner 
1525*4e1bc9a0SAchim Leubner osGLOBAL bit32
1526*4e1bc9a0SAchim Leubner tdsaDiscover(
1527*4e1bc9a0SAchim Leubner              tiRoot_t          *tiRoot,
1528*4e1bc9a0SAchim Leubner              tdsaPortContext_t *onePortContext,
1529*4e1bc9a0SAchim Leubner              bit32             type,
1530*4e1bc9a0SAchim Leubner              bit32             option
1531*4e1bc9a0SAchim Leubner              );
1532*4e1bc9a0SAchim Leubner 
1533*4e1bc9a0SAchim Leubner osGLOBAL bit32
1534*4e1bc9a0SAchim Leubner tdsaSASFullDiscover(
1535*4e1bc9a0SAchim Leubner                     tiRoot_t          *tiRoot,
1536*4e1bc9a0SAchim Leubner                     tdsaPortContext_t *onePortContext
1537*4e1bc9a0SAchim Leubner                     );
1538*4e1bc9a0SAchim Leubner 
1539*4e1bc9a0SAchim Leubner osGLOBAL bit32
1540*4e1bc9a0SAchim Leubner tdsaSATAFullDiscover(
1541*4e1bc9a0SAchim Leubner                      tiRoot_t          *tiRoot,
1542*4e1bc9a0SAchim Leubner                      tdsaPortContext_t *onePortContext
1543*4e1bc9a0SAchim Leubner                      );
1544*4e1bc9a0SAchim Leubner osGLOBAL bit32
1545*4e1bc9a0SAchim Leubner tdsaSASIncrementalDiscover(
1546*4e1bc9a0SAchim Leubner                     tiRoot_t          *tiRoot,
1547*4e1bc9a0SAchim Leubner                     tdsaPortContext_t *onePortContext
1548*4e1bc9a0SAchim Leubner                     );
1549*4e1bc9a0SAchim Leubner 
1550*4e1bc9a0SAchim Leubner osGLOBAL bit32
1551*4e1bc9a0SAchim Leubner tdsaSATAIncrementalDiscover(
1552*4e1bc9a0SAchim Leubner                      tiRoot_t          *tiRoot,
1553*4e1bc9a0SAchim Leubner                      tdsaPortContext_t *onePortContext
1554*4e1bc9a0SAchim Leubner                      );
1555*4e1bc9a0SAchim Leubner 
1556*4e1bc9a0SAchim Leubner osGLOBAL void
1557*4e1bc9a0SAchim Leubner tdsaSASUpStreamDiscoverStart(
1558*4e1bc9a0SAchim Leubner                              tiRoot_t             *tiRoot,
1559*4e1bc9a0SAchim Leubner                              tdsaPortContext_t    *onePortContext,
1560*4e1bc9a0SAchim Leubner                              tdsaDeviceData_t     *oneDeviceData
1561*4e1bc9a0SAchim Leubner                              );
1562*4e1bc9a0SAchim Leubner 
1563*4e1bc9a0SAchim Leubner osGLOBAL void
1564*4e1bc9a0SAchim Leubner tdsaSASUpStreamDiscovering(
1565*4e1bc9a0SAchim Leubner                            tiRoot_t             *tiRoot,
1566*4e1bc9a0SAchim Leubner                            tdsaPortContext_t    *onePortContext,
1567*4e1bc9a0SAchim Leubner                            tdsaDeviceData_t     *oneDeviceData
1568*4e1bc9a0SAchim Leubner                            );
1569*4e1bc9a0SAchim Leubner 
1570*4e1bc9a0SAchim Leubner 
1571*4e1bc9a0SAchim Leubner osGLOBAL void
1572*4e1bc9a0SAchim Leubner tdsaSASDownStreamDiscoverStart(
1573*4e1bc9a0SAchim Leubner                                tiRoot_t             *tiRoot,
1574*4e1bc9a0SAchim Leubner                                tdsaPortContext_t    *onePortContext,
1575*4e1bc9a0SAchim Leubner                                tdsaDeviceData_t     *oneDeviceData
1576*4e1bc9a0SAchim Leubner                                );
1577*4e1bc9a0SAchim Leubner 
1578*4e1bc9a0SAchim Leubner osGLOBAL void
1579*4e1bc9a0SAchim Leubner tdsaSASDownStreamDiscovering(
1580*4e1bc9a0SAchim Leubner                              tiRoot_t             *tiRoot,
1581*4e1bc9a0SAchim Leubner                              tdsaPortContext_t    *onePortContext,
1582*4e1bc9a0SAchim Leubner                              tdsaDeviceData_t     *oneDeviceData
1583*4e1bc9a0SAchim Leubner                              );
1584*4e1bc9a0SAchim Leubner 
1585*4e1bc9a0SAchim Leubner osGLOBAL void
1586*4e1bc9a0SAchim Leubner tdsaSASDiscoverDone(
1587*4e1bc9a0SAchim Leubner                     tiRoot_t             *tiRoot,
1588*4e1bc9a0SAchim Leubner                     tdsaPortContext_t    *onePortContext,
1589*4e1bc9a0SAchim Leubner                     bit32                 flag
1590*4e1bc9a0SAchim Leubner                     );
1591*4e1bc9a0SAchim Leubner 
1592*4e1bc9a0SAchim Leubner osGLOBAL void
1593*4e1bc9a0SAchim Leubner tdsaSATADiscoverDone(
1594*4e1bc9a0SAchim Leubner                     tiRoot_t             *tiRoot,
1595*4e1bc9a0SAchim Leubner                     tdsaPortContext_t    *onePortContext,
1596*4e1bc9a0SAchim Leubner                     bit32                flag
1597*4e1bc9a0SAchim Leubner                     );
1598*4e1bc9a0SAchim Leubner 
1599*4e1bc9a0SAchim Leubner osGLOBAL void
1600*4e1bc9a0SAchim Leubner tdsaAckBC(
1601*4e1bc9a0SAchim Leubner                     tiRoot_t             *tiRoot,
1602*4e1bc9a0SAchim Leubner                     tdsaPortContext_t    *onePortContext
1603*4e1bc9a0SAchim Leubner                     );
1604*4e1bc9a0SAchim Leubner 
1605*4e1bc9a0SAchim Leubner osGLOBAL void
1606*4e1bc9a0SAchim Leubner tdsaDiscoveryResetProcessed(
1607*4e1bc9a0SAchim Leubner                     tiRoot_t             *tiRoot,
1608*4e1bc9a0SAchim Leubner                     tdsaPortContext_t    *onePortContext
1609*4e1bc9a0SAchim Leubner                     );
1610*4e1bc9a0SAchim Leubner 
1611*4e1bc9a0SAchim Leubner 
1612*4e1bc9a0SAchim Leubner 
1613*4e1bc9a0SAchim Leubner osGLOBAL void
1614*4e1bc9a0SAchim Leubner tdsaSASUpStreamDiscoverExpanderPhy(
1615*4e1bc9a0SAchim Leubner                                    tiRoot_t              *tiRoot,
1616*4e1bc9a0SAchim Leubner                                    tdsaPortContext_t     *onePortContext,
1617*4e1bc9a0SAchim Leubner                                    tdsaExpander_t        *oneExpander,
1618*4e1bc9a0SAchim Leubner                                    smpRespDiscover_t     *pDiscoverResp
1619*4e1bc9a0SAchim Leubner                                    );
1620*4e1bc9a0SAchim Leubner osGLOBAL tdsaExpander_t *
1621*4e1bc9a0SAchim Leubner tdsaFindUpStreamConfigurableExp(tiRoot_t              *tiRoot,
1622*4e1bc9a0SAchim Leubner                                 tdsaExpander_t        *oneExpander);
1623*4e1bc9a0SAchim Leubner 
1624*4e1bc9a0SAchim Leubner osGLOBAL void
1625*4e1bc9a0SAchim Leubner tdsaSASDownStreamDiscoverExpanderPhy(
1626*4e1bc9a0SAchim Leubner                                      tiRoot_t              *tiRoot,
1627*4e1bc9a0SAchim Leubner                                      tdsaPortContext_t     *onePortContext,
1628*4e1bc9a0SAchim Leubner                                      tdsaExpander_t        *oneExpander,
1629*4e1bc9a0SAchim Leubner                                      smpRespDiscover_t     *pDiscoverResp
1630*4e1bc9a0SAchim Leubner                                      );
1631*4e1bc9a0SAchim Leubner osGLOBAL void
1632*4e1bc9a0SAchim Leubner tdsaSASUpStreamDiscoverExpanderPhySkip(
1633*4e1bc9a0SAchim Leubner                                    tiRoot_t              *tiRoot,
1634*4e1bc9a0SAchim Leubner                                    tdsaPortContext_t     *onePortContext,
1635*4e1bc9a0SAchim Leubner                                    tdsaExpander_t        *oneExpander
1636*4e1bc9a0SAchim Leubner                                    );
1637*4e1bc9a0SAchim Leubner osGLOBAL tdsaExpander_t *
1638*4e1bc9a0SAchim Leubner tdsaFindDownStreamConfigurableExp(tiRoot_t              *tiRoot,
1639*4e1bc9a0SAchim Leubner                                   tdsaExpander_t        *oneExpander);
1640*4e1bc9a0SAchim Leubner 
1641*4e1bc9a0SAchim Leubner osGLOBAL void
1642*4e1bc9a0SAchim Leubner tdsaSASDownStreamDiscoverExpanderPhySkip(
1643*4e1bc9a0SAchim Leubner                                      tiRoot_t              *tiRoot,
1644*4e1bc9a0SAchim Leubner                                      tdsaPortContext_t     *onePortContext,
1645*4e1bc9a0SAchim Leubner                                      tdsaExpander_t        *oneExpander
1646*4e1bc9a0SAchim Leubner                                      );
1647*4e1bc9a0SAchim Leubner osGLOBAL void
1648*4e1bc9a0SAchim Leubner tdsaDiscoveringStpSATADevice(
1649*4e1bc9a0SAchim Leubner                              tiRoot_t              *tiRoot,
1650*4e1bc9a0SAchim Leubner                              tdsaPortContext_t     *onePortContext,
1651*4e1bc9a0SAchim Leubner                              tdsaDeviceData_t      *oneDeviceData
1652*4e1bc9a0SAchim Leubner                              );
1653*4e1bc9a0SAchim Leubner 
1654*4e1bc9a0SAchim Leubner 
1655*4e1bc9a0SAchim Leubner osGLOBAL void
1656*4e1bc9a0SAchim Leubner tdsaSASExpanderUpStreamPhyAdd(
1657*4e1bc9a0SAchim Leubner                               tiRoot_t          *tiRoot,
1658*4e1bc9a0SAchim Leubner                               tdsaExpander_t    *oneExpander,
1659*4e1bc9a0SAchim Leubner                               bit8              phyId
1660*4e1bc9a0SAchim Leubner                               );
1661*4e1bc9a0SAchim Leubner 
1662*4e1bc9a0SAchim Leubner osGLOBAL void
1663*4e1bc9a0SAchim Leubner tdsaSASExpanderDownStreamPhyAdd(
1664*4e1bc9a0SAchim Leubner                               tiRoot_t          *tiRoot,
1665*4e1bc9a0SAchim Leubner                               tdsaExpander_t    *oneExpander,
1666*4e1bc9a0SAchim Leubner                               bit8              phyId
1667*4e1bc9a0SAchim Leubner                               );
1668*4e1bc9a0SAchim Leubner osGLOBAL bit16
1669*4e1bc9a0SAchim Leubner tdsaFindCurrentDownStreamPhyIndex(
1670*4e1bc9a0SAchim Leubner                               tiRoot_t          *tiRoot,
1671*4e1bc9a0SAchim Leubner                               tdsaExpander_t    *oneExpander
1672*4e1bc9a0SAchim Leubner                               );
1673*4e1bc9a0SAchim Leubner 
1674*4e1bc9a0SAchim Leubner osGLOBAL tdsaDeviceData_t *
1675*4e1bc9a0SAchim Leubner tdsaPortSASDeviceFind(
1676*4e1bc9a0SAchim Leubner                       tiRoot_t           *tiRoot,
1677*4e1bc9a0SAchim Leubner                       tdsaPortContext_t  *onePortContext,
1678*4e1bc9a0SAchim Leubner                       bit32              sasAddrLo,
1679*4e1bc9a0SAchim Leubner                       bit32              sasAddrHi
1680*4e1bc9a0SAchim Leubner                       );
1681*4e1bc9a0SAchim Leubner 
1682*4e1bc9a0SAchim Leubner GLOBAL tdsaDeviceData_t *
1683*4e1bc9a0SAchim Leubner tdsaPortSASDeviceAdd(
1684*4e1bc9a0SAchim Leubner                      tiRoot_t            *tiRoot,
1685*4e1bc9a0SAchim Leubner                      tdsaPortContext_t   *onePortContext,
1686*4e1bc9a0SAchim Leubner                      agsaSASIdentify_t   sasIdentify,
1687*4e1bc9a0SAchim Leubner                      bit32               sasInitiator,
1688*4e1bc9a0SAchim Leubner                      bit8                connectionRate,
1689*4e1bc9a0SAchim Leubner                      bit32               itNexusTimeout,
1690*4e1bc9a0SAchim Leubner                      bit32               firstBurstSize,
1691*4e1bc9a0SAchim Leubner                      bit32               deviceType,
1692*4e1bc9a0SAchim Leubner                      tdsaDeviceData_t    *oneExpDeviceData,
1693*4e1bc9a0SAchim Leubner                      bit8                phyID
1694*4e1bc9a0SAchim Leubner                      );
1695*4e1bc9a0SAchim Leubner 
1696*4e1bc9a0SAchim Leubner 
1697*4e1bc9a0SAchim Leubner 
1698*4e1bc9a0SAchim Leubner 
1699*4e1bc9a0SAchim Leubner 
1700*4e1bc9a0SAchim Leubner /* in tdport.c */
1701*4e1bc9a0SAchim Leubner osGLOBAL tdsaDeviceData_t *
1702*4e1bc9a0SAchim Leubner tdssNewAddSASToSharedcontext(
1703*4e1bc9a0SAchim Leubner                                  agsaRoot_t           *agRoot,
1704*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext,
1705*4e1bc9a0SAchim Leubner                                  tdsaSASSubID_t       *agSASSubID,
1706*4e1bc9a0SAchim Leubner                                  tdsaDeviceData_t     *oneExpDeviceData,
1707*4e1bc9a0SAchim Leubner                                  bit8                 phyID
1708*4e1bc9a0SAchim Leubner                                  );
1709*4e1bc9a0SAchim Leubner osGLOBAL void
1710*4e1bc9a0SAchim Leubner tdsaResetValidDeviceData(
1711*4e1bc9a0SAchim Leubner                                  agsaRoot_t           *agRoot,
1712*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext
1713*4e1bc9a0SAchim Leubner                                  );
1714*4e1bc9a0SAchim Leubner 
1715*4e1bc9a0SAchim Leubner 
1716*4e1bc9a0SAchim Leubner osGLOBAL void
1717*4e1bc9a0SAchim Leubner tdssReportChanges(
1718*4e1bc9a0SAchim Leubner                                  agsaRoot_t           *agRoot,
1719*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext                                                 );
1720*4e1bc9a0SAchim Leubner 
1721*4e1bc9a0SAchim Leubner osGLOBAL void
1722*4e1bc9a0SAchim Leubner tdssReportRemovals(
1723*4e1bc9a0SAchim Leubner                                  agsaRoot_t           *agRoot,
1724*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext,
1725*4e1bc9a0SAchim Leubner                                  bit32                flag
1726*4e1bc9a0SAchim Leubner                                  );
1727*4e1bc9a0SAchim Leubner osGLOBAL void
1728*4e1bc9a0SAchim Leubner tdssInternalRemovals(
1729*4e1bc9a0SAchim Leubner                                  agsaRoot_t           *agRoot,
1730*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext
1731*4e1bc9a0SAchim Leubner                                  );
1732*4e1bc9a0SAchim Leubner osGLOBAL void
1733*4e1bc9a0SAchim Leubner tdssDiscoveryErrorRemovals(
1734*4e1bc9a0SAchim Leubner                                  agsaRoot_t           *agRoot,
1735*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext
1736*4e1bc9a0SAchim Leubner                                  );
1737*4e1bc9a0SAchim Leubner 
1738*4e1bc9a0SAchim Leubner osGLOBAL void
1739*4e1bc9a0SAchim Leubner tdsaSASDiscoverAbort(
1740*4e1bc9a0SAchim Leubner                     tiRoot_t             *tiRoot,
1741*4e1bc9a0SAchim Leubner                     tdsaPortContext_t    *onePortContext
1742*4e1bc9a0SAchim Leubner                     );
1743*4e1bc9a0SAchim Leubner 
1744*4e1bc9a0SAchim Leubner 
1745*4e1bc9a0SAchim Leubner osGLOBAL tdsaDeviceData_t *
1746*4e1bc9a0SAchim Leubner tdsaFindRegNValid(
1747*4e1bc9a0SAchim Leubner                                  agsaRoot_t           *agRoot,
1748*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext,
1749*4e1bc9a0SAchim Leubner                                  tdsaSASSubID_t       *agSASSubID
1750*4e1bc9a0SAchim Leubner                   );
1751*4e1bc9a0SAchim Leubner bit32
1752*4e1bc9a0SAchim Leubner tdssNewSASorNot(
1753*4e1bc9a0SAchim Leubner                                  agsaRoot_t           *agRoot,
1754*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext,
1755*4e1bc9a0SAchim Leubner                                  tdsaSASSubID_t       *agSASSubID
1756*4e1bc9a0SAchim Leubner                                  );
1757*4e1bc9a0SAchim Leubner 
1758*4e1bc9a0SAchim Leubner 
1759*4e1bc9a0SAchim Leubner osGLOBAL tdsaExpander_t *
1760*4e1bc9a0SAchim Leubner tdssSASDiscoveringExpanderAlloc(
1761*4e1bc9a0SAchim Leubner                                 tiRoot_t                 *tiRoot,
1762*4e1bc9a0SAchim Leubner                                 tdsaPortContext_t        *onePortContext,
1763*4e1bc9a0SAchim Leubner                                 tdsaDeviceData_t         *oneDeviceData
1764*4e1bc9a0SAchim Leubner                                 );
1765*4e1bc9a0SAchim Leubner 
1766*4e1bc9a0SAchim Leubner osGLOBAL void
1767*4e1bc9a0SAchim Leubner tdssSASDiscoveringExpanderAdd(
1768*4e1bc9a0SAchim Leubner                               tiRoot_t                 *tiRoot,
1769*4e1bc9a0SAchim Leubner                               tdsaPortContext_t        *onePortContext,
1770*4e1bc9a0SAchim Leubner                               tdsaExpander_t           *oneExpander
1771*4e1bc9a0SAchim Leubner                               );
1772*4e1bc9a0SAchim Leubner 
1773*4e1bc9a0SAchim Leubner osGLOBAL void
1774*4e1bc9a0SAchim Leubner tdssSASDiscoveringExpanderRemove(
1775*4e1bc9a0SAchim Leubner                                  tiRoot_t                 *tiRoot,
1776*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t        *onePortContext,
1777*4e1bc9a0SAchim Leubner                                  tdsaExpander_t           *oneExpander
1778*4e1bc9a0SAchim Leubner                                  );
1779*4e1bc9a0SAchim Leubner 
1780*4e1bc9a0SAchim Leubner GLOBAL bit32
1781*4e1bc9a0SAchim Leubner tdssSATADeviceTypeDecode(
1782*4e1bc9a0SAchim Leubner                          bit8  *pSignature
1783*4e1bc9a0SAchim Leubner                          );
1784*4e1bc9a0SAchim Leubner 
1785*4e1bc9a0SAchim Leubner 
1786*4e1bc9a0SAchim Leubner GLOBAL tdsaDeviceData_t *
1787*4e1bc9a0SAchim Leubner tdsaPortSATADeviceAdd(
1788*4e1bc9a0SAchim Leubner                       tiRoot_t                *tiRoot,
1789*4e1bc9a0SAchim Leubner                       tdsaPortContext_t       *onePortContext,
1790*4e1bc9a0SAchim Leubner                       tdsaDeviceData_t        *oneSTPBridge,
1791*4e1bc9a0SAchim Leubner                       bit8                    *Signature,
1792*4e1bc9a0SAchim Leubner                       bit8                    pm,
1793*4e1bc9a0SAchim Leubner                       bit8                    pmField,
1794*4e1bc9a0SAchim Leubner                       bit8                    connectionRate,
1795*4e1bc9a0SAchim Leubner                       tdsaDeviceData_t        *oneExpDeviceData,
1796*4e1bc9a0SAchim Leubner                       bit8                    phyID
1797*4e1bc9a0SAchim Leubner                       );
1798*4e1bc9a0SAchim Leubner 
1799*4e1bc9a0SAchim Leubner /* in tdport.c */
1800*4e1bc9a0SAchim Leubner osGLOBAL tdsaDeviceData_t *
1801*4e1bc9a0SAchim Leubner tdssNewAddSATAToSharedcontext(tiRoot_t             *tiRoot,
1802*4e1bc9a0SAchim Leubner                               agsaRoot_t           *agRoot,
1803*4e1bc9a0SAchim Leubner                               tdsaPortContext_t    *onePortContext,
1804*4e1bc9a0SAchim Leubner                               agsaSATADeviceInfo_t *agSATADeviceInfo,
1805*4e1bc9a0SAchim Leubner                               bit8                    *Signature,
1806*4e1bc9a0SAchim Leubner                               bit8                    pm,
1807*4e1bc9a0SAchim Leubner                               bit8                    pmField,
1808*4e1bc9a0SAchim Leubner                               bit32                   connectionRate,
1809*4e1bc9a0SAchim Leubner                               tdsaDeviceData_t        *oneExpDeviceData,
1810*4e1bc9a0SAchim Leubner                               bit8                    phyID
1811*4e1bc9a0SAchim Leubner                               );
1812*4e1bc9a0SAchim Leubner 
1813*4e1bc9a0SAchim Leubner osGLOBAL tdsaDeviceData_t  *
1814*4e1bc9a0SAchim Leubner tdsaFindRightDevice(
1815*4e1bc9a0SAchim Leubner                    tiRoot_t               *tiRoot,
1816*4e1bc9a0SAchim Leubner                    tdsaPortContext_t      *onePortContext,
1817*4e1bc9a0SAchim Leubner                    tdsaDeviceData_t       *tdsaDeviceData
1818*4e1bc9a0SAchim Leubner                    );
1819*4e1bc9a0SAchim Leubner GLOBAL void
1820*4e1bc9a0SAchim Leubner ossaIDCDiscoverCompleted(
1821*4e1bc9a0SAchim Leubner                   agsaRoot_t        *agRoot,
1822*4e1bc9a0SAchim Leubner                   agsaIORequest_t   *agIORequest,
1823*4e1bc9a0SAchim Leubner                   bit32             agIOStatus,
1824*4e1bc9a0SAchim Leubner                   void              *agFirstDword,
1825*4e1bc9a0SAchim Leubner                   bit32             agIOInfoLen,
1826*4e1bc9a0SAchim Leubner                   agsaFrameHandle_t agFrameHandle
1827*4e1bc9a0SAchim Leubner                   );
1828*4e1bc9a0SAchim Leubner 
1829*4e1bc9a0SAchim Leubner osGLOBAL bit8
1830*4e1bc9a0SAchim Leubner tdsaFindLocalLinkRate(
1831*4e1bc9a0SAchim Leubner                       tiRoot_t                  *tiRoot,
1832*4e1bc9a0SAchim Leubner                       tdsaPortStartInfo_t       *tdsaPortStartInfo
1833*4e1bc9a0SAchim Leubner                       );
1834*4e1bc9a0SAchim Leubner 
1835*4e1bc9a0SAchim Leubner /* SMP related */
1836*4e1bc9a0SAchim Leubner 
1837*4e1bc9a0SAchim Leubner osGLOBAL bit32
1838*4e1bc9a0SAchim Leubner tdSMPStart(
1839*4e1bc9a0SAchim Leubner            tiRoot_t              *tiRoot,
1840*4e1bc9a0SAchim Leubner            agsaRoot_t            *agRoot,
1841*4e1bc9a0SAchim Leubner            tdsaDeviceData_t      *oneDeviceData,
1842*4e1bc9a0SAchim Leubner            bit32                 functionCode,
1843*4e1bc9a0SAchim Leubner            bit8                  *pSmpBody,
1844*4e1bc9a0SAchim Leubner            bit32                 smpBodySize,
1845*4e1bc9a0SAchim Leubner            bit32                 agRequestType,
1846*4e1bc9a0SAchim Leubner            tiIORequest_t         *CurrentTaskTag,
1847*4e1bc9a0SAchim Leubner            bit32                 queueNumber
1848*4e1bc9a0SAchim Leubner            );
1849*4e1bc9a0SAchim Leubner //temp for testing
1850*4e1bc9a0SAchim Leubner osGLOBAL void
1851*4e1bc9a0SAchim Leubner tdsaReportManInfoSend(
1852*4e1bc9a0SAchim Leubner                       tiRoot_t             *tiRoot,
1853*4e1bc9a0SAchim Leubner                       tdsaDeviceData_t     *oneDeviceData
1854*4e1bc9a0SAchim Leubner                       );
1855*4e1bc9a0SAchim Leubner 
1856*4e1bc9a0SAchim Leubner osGLOBAL void
1857*4e1bc9a0SAchim Leubner tdsaReportManInfoRespRcvd(
1858*4e1bc9a0SAchim Leubner                           tiRoot_t              *tiRoot,
1859*4e1bc9a0SAchim Leubner                           agsaRoot_t            *agRoot,
1860*4e1bc9a0SAchim Leubner                           tdsaDeviceData_t      *oneDeviceData,
1861*4e1bc9a0SAchim Leubner                           tdssSMPFrameHeader_t  *frameHeader,
1862*4e1bc9a0SAchim Leubner                           agsaFrameHandle_t     frameHandle
1863*4e1bc9a0SAchim Leubner                           );
1864*4e1bc9a0SAchim Leubner 
1865*4e1bc9a0SAchim Leubner //end temp for testing
1866*4e1bc9a0SAchim Leubner 
1867*4e1bc9a0SAchim Leubner osGLOBAL void
1868*4e1bc9a0SAchim Leubner tdsaReportGeneralSend(
1869*4e1bc9a0SAchim Leubner                       tiRoot_t             *tiRoot,
1870*4e1bc9a0SAchim Leubner                       tdsaDeviceData_t     *oneDeviceData
1871*4e1bc9a0SAchim Leubner                       );
1872*4e1bc9a0SAchim Leubner 
1873*4e1bc9a0SAchim Leubner osGLOBAL void
1874*4e1bc9a0SAchim Leubner tdsaReportGeneralRespRcvd(
1875*4e1bc9a0SAchim Leubner                           tiRoot_t              *tiRoot,
1876*4e1bc9a0SAchim Leubner                           agsaRoot_t            *agRoot,
1877*4e1bc9a0SAchim Leubner                           agsaIORequest_t       *agIORequest,
1878*4e1bc9a0SAchim Leubner                           tdsaDeviceData_t      *oneDeviceData,
1879*4e1bc9a0SAchim Leubner                           tdssSMPFrameHeader_t  *frameHeader,
1880*4e1bc9a0SAchim Leubner                           agsaFrameHandle_t     frameHandle
1881*4e1bc9a0SAchim Leubner               );
1882*4e1bc9a0SAchim Leubner osGLOBAL void
1883*4e1bc9a0SAchim Leubner tdsaDiscoverSend(
1884*4e1bc9a0SAchim Leubner                  tiRoot_t             *tiRoot,
1885*4e1bc9a0SAchim Leubner                  tdsaDeviceData_t     *oneDeviceData
1886*4e1bc9a0SAchim Leubner                  );
1887*4e1bc9a0SAchim Leubner 
1888*4e1bc9a0SAchim Leubner osGLOBAL void
1889*4e1bc9a0SAchim Leubner tdsaDiscoverRespRcvd(
1890*4e1bc9a0SAchim Leubner                      tiRoot_t              *tiRoot,
1891*4e1bc9a0SAchim Leubner                      agsaRoot_t            *agRoot,
1892*4e1bc9a0SAchim Leubner                      agsaIORequest_t       *agIORequest,
1893*4e1bc9a0SAchim Leubner                      tdsaDeviceData_t      *oneDeviceData,
1894*4e1bc9a0SAchim Leubner                      tdssSMPFrameHeader_t  *frameHeader,
1895*4e1bc9a0SAchim Leubner                      agsaFrameHandle_t     frameHandle
1896*4e1bc9a0SAchim Leubner                      );
1897*4e1bc9a0SAchim Leubner 
1898*4e1bc9a0SAchim Leubner 
1899*4e1bc9a0SAchim Leubner osGLOBAL void
1900*4e1bc9a0SAchim Leubner tdsaReportPhySataSend(
1901*4e1bc9a0SAchim Leubner                       tiRoot_t             *tiRoot,
1902*4e1bc9a0SAchim Leubner                       tdsaDeviceData_t     *oneDeviceData,
1903*4e1bc9a0SAchim Leubner                       bit8                 phyId
1904*4e1bc9a0SAchim Leubner                       );
1905*4e1bc9a0SAchim Leubner 
1906*4e1bc9a0SAchim Leubner 
1907*4e1bc9a0SAchim Leubner 
1908*4e1bc9a0SAchim Leubner osGLOBAL void
1909*4e1bc9a0SAchim Leubner tdsaReportPhySataRcvd(
1910*4e1bc9a0SAchim Leubner                       tiRoot_t              *tiRoot,
1911*4e1bc9a0SAchim Leubner                       agsaRoot_t            *agRoot,
1912*4e1bc9a0SAchim Leubner                       agsaIORequest_t       *agIORequest,
1913*4e1bc9a0SAchim Leubner                       tdsaDeviceData_t      *oneDeviceData,
1914*4e1bc9a0SAchim Leubner                       tdssSMPFrameHeader_t  *frameHeader,
1915*4e1bc9a0SAchim Leubner                       agsaFrameHandle_t     frameHandle
1916*4e1bc9a0SAchim Leubner                       );
1917*4e1bc9a0SAchim Leubner 
1918*4e1bc9a0SAchim Leubner osGLOBAL bit32
1919*4e1bc9a0SAchim Leubner tdsaSASRoutingEntryAdd(
1920*4e1bc9a0SAchim Leubner                        tiRoot_t          *tiRoot,
1921*4e1bc9a0SAchim Leubner                        tdsaExpander_t    *oneExpander,
1922*4e1bc9a0SAchim Leubner                        bit32             phyId,
1923*4e1bc9a0SAchim Leubner                        bit32             configSASAddressHi,
1924*4e1bc9a0SAchim Leubner                        bit32             configSASAddressLo
1925*4e1bc9a0SAchim Leubner                        );
1926*4e1bc9a0SAchim Leubner 
1927*4e1bc9a0SAchim Leubner 
1928*4e1bc9a0SAchim Leubner osGLOBAL void
1929*4e1bc9a0SAchim Leubner tdsaConfigRoutingInfoRespRcvd(
1930*4e1bc9a0SAchim Leubner                               tiRoot_t              *tiRoot,
1931*4e1bc9a0SAchim Leubner                               agsaRoot_t            *agRoot,
1932*4e1bc9a0SAchim Leubner                               agsaIORequest_t       *agIORequest,
1933*4e1bc9a0SAchim Leubner                               tdsaDeviceData_t      *oneDeviceData,
1934*4e1bc9a0SAchim Leubner                               tdssSMPFrameHeader_t  *frameHeader,
1935*4e1bc9a0SAchim Leubner                               agsaFrameHandle_t     frameHandle
1936*4e1bc9a0SAchim Leubner                               );
1937*4e1bc9a0SAchim Leubner 
1938*4e1bc9a0SAchim Leubner osGLOBAL bit32
1939*4e1bc9a0SAchim Leubner tdsaPhyControlSend(
1940*4e1bc9a0SAchim Leubner                    tiRoot_t             *tiRoot,
1941*4e1bc9a0SAchim Leubner                    tdsaDeviceData_t     *oneDeviceData,
1942*4e1bc9a0SAchim Leubner                    bit8                 phyOp,
1943*4e1bc9a0SAchim Leubner                    tiIORequest_t        *CurrentTaskTag,
1944*4e1bc9a0SAchim Leubner                    bit32                queueNumber
1945*4e1bc9a0SAchim Leubner                    );
1946*4e1bc9a0SAchim Leubner 
1947*4e1bc9a0SAchim Leubner osGLOBAL void
1948*4e1bc9a0SAchim Leubner tdsaPhyControlRespRcvd(
1949*4e1bc9a0SAchim Leubner                        tiRoot_t              *tiRoot,
1950*4e1bc9a0SAchim Leubner                        agsaRoot_t            *agRoot,
1951*4e1bc9a0SAchim Leubner                        agsaIORequest_t       *agIORequest,
1952*4e1bc9a0SAchim Leubner                        tdsaDeviceData_t      *oneDeviceData,
1953*4e1bc9a0SAchim Leubner                        tdssSMPFrameHeader_t  *frameHeader,
1954*4e1bc9a0SAchim Leubner                        agsaFrameHandle_t     frameHandle,
1955*4e1bc9a0SAchim Leubner                        tiIORequest_t         *CurrentTaskTag
1956*4e1bc9a0SAchim Leubner                        );
1957*4e1bc9a0SAchim Leubner 
1958*4e1bc9a0SAchim Leubner osGLOBAL void
1959*4e1bc9a0SAchim Leubner tdsaPhyControlFailureRespRcvd(
1960*4e1bc9a0SAchim Leubner                               tiRoot_t              *tiRoot,
1961*4e1bc9a0SAchim Leubner                               agsaRoot_t            *agRoot,
1962*4e1bc9a0SAchim Leubner                               tdsaDeviceData_t      *oneDeviceData,
1963*4e1bc9a0SAchim Leubner                               tdssSMPFrameHeader_t  *frameHeader,
1964*4e1bc9a0SAchim Leubner                               agsaFrameHandle_t     frameHandle,
1965*4e1bc9a0SAchim Leubner                               tiIORequest_t         *CurrentTaskTag
1966*4e1bc9a0SAchim Leubner                              );
1967*4e1bc9a0SAchim Leubner 
1968*4e1bc9a0SAchim Leubner 
1969*4e1bc9a0SAchim Leubner osGLOBAL void
1970*4e1bc9a0SAchim Leubner tdsaDumpAllExp(
1971*4e1bc9a0SAchim Leubner                               tiRoot_t                 *tiRoot,
1972*4e1bc9a0SAchim Leubner                               tdsaPortContext_t        *onePortContext,
1973*4e1bc9a0SAchim Leubner                               tdsaExpander_t           *oneExpander
1974*4e1bc9a0SAchim Leubner                               );
1975*4e1bc9a0SAchim Leubner osGLOBAL void
1976*4e1bc9a0SAchim Leubner tdsaDumpAllUpExp(
1977*4e1bc9a0SAchim Leubner                               tiRoot_t                 *tiRoot,
1978*4e1bc9a0SAchim Leubner                               tdsaPortContext_t        *onePortContext,
1979*4e1bc9a0SAchim Leubner                               tdsaExpander_t           *oneExpander
1980*4e1bc9a0SAchim Leubner                               );
1981*4e1bc9a0SAchim Leubner osGLOBAL void
1982*4e1bc9a0SAchim Leubner tdsaCleanAllExp(
1983*4e1bc9a0SAchim Leubner                               tiRoot_t                 *tiRoot,
1984*4e1bc9a0SAchim Leubner                               tdsaPortContext_t        *onePortContext
1985*4e1bc9a0SAchim Leubner                               );
1986*4e1bc9a0SAchim Leubner osGLOBAL void
1987*4e1bc9a0SAchim Leubner tdsaFreeAllExp(
1988*4e1bc9a0SAchim Leubner                               tiRoot_t                 *tiRoot,
1989*4e1bc9a0SAchim Leubner                               tdsaPortContext_t        *onePortContext
1990*4e1bc9a0SAchim Leubner                               );
1991*4e1bc9a0SAchim Leubner osGLOBAL void
1992*4e1bc9a0SAchim Leubner tdsaDumpAllFreeExp(
1993*4e1bc9a0SAchim Leubner                               tiRoot_t                 *tiRoot
1994*4e1bc9a0SAchim Leubner                               );
1995*4e1bc9a0SAchim Leubner 
1996*4e1bc9a0SAchim Leubner osGLOBAL void
1997*4e1bc9a0SAchim Leubner tdsaDiscoveryTimer(tiRoot_t                 *tiRoot,
1998*4e1bc9a0SAchim Leubner                    tdsaPortContext_t        *onePortContext,
1999*4e1bc9a0SAchim Leubner                    tdsaDeviceData_t         *oneDeviceData
2000*4e1bc9a0SAchim Leubner                    );
2001*4e1bc9a0SAchim Leubner 
2002*4e1bc9a0SAchim Leubner osGLOBAL void
2003*4e1bc9a0SAchim Leubner tdsaDiscoveryTimerCB(
2004*4e1bc9a0SAchim Leubner                        tiRoot_t    * tiRoot,
2005*4e1bc9a0SAchim Leubner                        void        * timerData1,
2006*4e1bc9a0SAchim Leubner                        void        * timerData2,
2007*4e1bc9a0SAchim Leubner                        void        * timerData3
2008*4e1bc9a0SAchim Leubner                        );
2009*4e1bc9a0SAchim Leubner 
2010*4e1bc9a0SAchim Leubner osGLOBAL void
2011*4e1bc9a0SAchim Leubner tdsaConfigureRouteTimer(tiRoot_t                 *tiRoot,
2012*4e1bc9a0SAchim Leubner                         tdsaPortContext_t        *onePortContext,
2013*4e1bc9a0SAchim Leubner                         tdsaExpander_t           *oneExpander,
2014*4e1bc9a0SAchim Leubner                         smpRespDiscover_t        *ptdSMPDiscoverResp
2015*4e1bc9a0SAchim Leubner                        );
2016*4e1bc9a0SAchim Leubner 
2017*4e1bc9a0SAchim Leubner osGLOBAL void
2018*4e1bc9a0SAchim Leubner tdsaConfigureRouteTimerCB(
2019*4e1bc9a0SAchim Leubner                           tiRoot_t    * tiRoot,
2020*4e1bc9a0SAchim Leubner                           void        * timerData1,
2021*4e1bc9a0SAchim Leubner                           void        * timerData2,
2022*4e1bc9a0SAchim Leubner                           void        * timerData3
2023*4e1bc9a0SAchim Leubner                          );
2024*4e1bc9a0SAchim Leubner 
2025*4e1bc9a0SAchim Leubner osGLOBAL void
2026*4e1bc9a0SAchim Leubner tdsaDeviceRegistrationTimer(tiRoot_t                 *tiRoot,
2027*4e1bc9a0SAchim Leubner                             tdsaPortContext_t        *onePortContext,
2028*4e1bc9a0SAchim Leubner                             tdsaDeviceData_t         *oneDeviceData
2029*4e1bc9a0SAchim Leubner                             );
2030*4e1bc9a0SAchim Leubner 
2031*4e1bc9a0SAchim Leubner osGLOBAL void
2032*4e1bc9a0SAchim Leubner tdsaDeviceRegistrationTimerCB(
2033*4e1bc9a0SAchim Leubner                               tiRoot_t    * tiRoot,
2034*4e1bc9a0SAchim Leubner                               void        * timerData1,
2035*4e1bc9a0SAchim Leubner                               void        * timerData2,
2036*4e1bc9a0SAchim Leubner                               void        * timerData3
2037*4e1bc9a0SAchim Leubner                              );
2038*4e1bc9a0SAchim Leubner 
2039*4e1bc9a0SAchim Leubner osGLOBAL void
2040*4e1bc9a0SAchim Leubner tdsaSMPBusyTimer(tiRoot_t                 *tiRoot,
2041*4e1bc9a0SAchim Leubner                  tdsaPortContext_t        *onePortContext,
2042*4e1bc9a0SAchim Leubner                  tdsaDeviceData_t         *oneDeviceData,
2043*4e1bc9a0SAchim Leubner                  tdssSMPRequestBody_t     *tdSMPRequestBody
2044*4e1bc9a0SAchim Leubner                  );
2045*4e1bc9a0SAchim Leubner 
2046*4e1bc9a0SAchim Leubner osGLOBAL void
2047*4e1bc9a0SAchim Leubner tdsaSMPBusyTimerCB(
2048*4e1bc9a0SAchim Leubner                        tiRoot_t    * tiRoot,
2049*4e1bc9a0SAchim Leubner                        void        * timerData1,
2050*4e1bc9a0SAchim Leubner                        void        * timerData2,
2051*4e1bc9a0SAchim Leubner                        void        * timerData3
2052*4e1bc9a0SAchim Leubner                        );
2053*4e1bc9a0SAchim Leubner 
2054*4e1bc9a0SAchim Leubner osGLOBAL void
2055*4e1bc9a0SAchim Leubner tdsaSATAIDDeviceTimer(tiRoot_t                 *tiRoot,
2056*4e1bc9a0SAchim Leubner                       tdsaDeviceData_t         *oneDeviceData
2057*4e1bc9a0SAchim Leubner                      );
2058*4e1bc9a0SAchim Leubner #ifdef FDS_SM
2059*4e1bc9a0SAchim Leubner osGLOBAL void
2060*4e1bc9a0SAchim Leubner tdIDStartTimer(tiRoot_t                 *tiRoot,
2061*4e1bc9a0SAchim Leubner                smIORequest_t            *smIORequest,
2062*4e1bc9a0SAchim Leubner                tdsaDeviceData_t         *oneDeviceData
2063*4e1bc9a0SAchim Leubner                );
2064*4e1bc9a0SAchim Leubner osGLOBAL void
2065*4e1bc9a0SAchim Leubner tdIDStartTimerCB(
2066*4e1bc9a0SAchim Leubner                   tiRoot_t    * tiRoot,
2067*4e1bc9a0SAchim Leubner                   void        * timerData1,
2068*4e1bc9a0SAchim Leubner                   void        * timerData2,
2069*4e1bc9a0SAchim Leubner                   void        * timerData3
2070*4e1bc9a0SAchim Leubner                 );
2071*4e1bc9a0SAchim Leubner #endif
2072*4e1bc9a0SAchim Leubner osGLOBAL void
2073*4e1bc9a0SAchim Leubner tdsaBCTimer(tiRoot_t                 *tiRoot,
2074*4e1bc9a0SAchim Leubner             tdsaPortContext_t        *onePortContext
2075*4e1bc9a0SAchim Leubner            );
2076*4e1bc9a0SAchim Leubner 
2077*4e1bc9a0SAchim Leubner osGLOBAL void
2078*4e1bc9a0SAchim Leubner tdsaBCTimerCB(
2079*4e1bc9a0SAchim Leubner               tiRoot_t    * tiRoot,
2080*4e1bc9a0SAchim Leubner               void        * timerData1,
2081*4e1bc9a0SAchim Leubner               void        * timerData2,
2082*4e1bc9a0SAchim Leubner               void        * timerData3
2083*4e1bc9a0SAchim Leubner               );
2084*4e1bc9a0SAchim Leubner 
2085*4e1bc9a0SAchim Leubner osGLOBAL void
2086*4e1bc9a0SAchim Leubner tdsaSATAIDDeviceTimerCB(
2087*4e1bc9a0SAchim Leubner                        tiRoot_t    * tiRoot,
2088*4e1bc9a0SAchim Leubner                        void        * timerData1,
2089*4e1bc9a0SAchim Leubner                        void        * timerData2,
2090*4e1bc9a0SAchim Leubner                        void        * timerData3
2091*4e1bc9a0SAchim Leubner                        );
2092*4e1bc9a0SAchim Leubner 
2093*4e1bc9a0SAchim Leubner osGLOBAL void
2094*4e1bc9a0SAchim Leubner tdsaDiscoverySMPTimer(tiRoot_t                 *tiRoot,
2095*4e1bc9a0SAchim Leubner                       tdsaPortContext_t        *onePortContext,
2096*4e1bc9a0SAchim Leubner                       bit32                    functionCode,
2097*4e1bc9a0SAchim Leubner                       tdssSMPRequestBody_t     *tdSMPRequestBody
2098*4e1bc9a0SAchim Leubner                      );
2099*4e1bc9a0SAchim Leubner 
2100*4e1bc9a0SAchim Leubner osGLOBAL void
2101*4e1bc9a0SAchim Leubner tdsaDiscoverySMPTimerCB(
2102*4e1bc9a0SAchim Leubner                         tiRoot_t    * tiRoot,
2103*4e1bc9a0SAchim Leubner                         void        * timerData1,
2104*4e1bc9a0SAchim Leubner                         void        * timerData2,
2105*4e1bc9a0SAchim Leubner                         void        * timerData3
2106*4e1bc9a0SAchim Leubner                        );
2107*4e1bc9a0SAchim Leubner 
2108*4e1bc9a0SAchim Leubner osGLOBAL void
2109*4e1bc9a0SAchim Leubner dumpRoutingAttributes(
2110*4e1bc9a0SAchim Leubner                       tiRoot_t                 *tiRoot,
2111*4e1bc9a0SAchim Leubner                       tdsaExpander_t           *oneExpander,
2112*4e1bc9a0SAchim Leubner                       bit8                     phyID
2113*4e1bc9a0SAchim Leubner                       );
2114*4e1bc9a0SAchim Leubner 
2115*4e1bc9a0SAchim Leubner osGLOBAL bit32
2116*4e1bc9a0SAchim Leubner tdsaDuplicateConfigSASAddr(
2117*4e1bc9a0SAchim Leubner                       tiRoot_t                 *tiRoot,
2118*4e1bc9a0SAchim Leubner                       tdsaExpander_t           *oneExpander,
2119*4e1bc9a0SAchim Leubner                       bit32                    configSASAddressHi,
2120*4e1bc9a0SAchim Leubner                       bit32                    configSASAddressLo
2121*4e1bc9a0SAchim Leubner                       );
2122*4e1bc9a0SAchim Leubner 
2123*4e1bc9a0SAchim Leubner osGLOBAL tdsaExpander_t *
2124*4e1bc9a0SAchim Leubner tdsaFindConfigurableExp(
2125*4e1bc9a0SAchim Leubner                          tiRoot_t                 *tiRoot,
2126*4e1bc9a0SAchim Leubner                          tdsaPortContext_t        *onePortContext,
2127*4e1bc9a0SAchim Leubner                          tdsaExpander_t           *oneExpander
2128*4e1bc9a0SAchim Leubner                         );
2129*4e1bc9a0SAchim Leubner 
2130*4e1bc9a0SAchim Leubner GLOBAL bit32
2131*4e1bc9a0SAchim Leubner tdsaDiscoveryStartIDDev(
2132*4e1bc9a0SAchim Leubner                         tiRoot_t                  *tiRoot,
2133*4e1bc9a0SAchim Leubner                         tiIORequest_t             *tiIORequest,
2134*4e1bc9a0SAchim Leubner                         tiDeviceHandle_t          *tiDeviceHandle,
2135*4e1bc9a0SAchim Leubner                         tiScsiInitiatorRequest_t *tiScsiRequest,
2136*4e1bc9a0SAchim Leubner                         tdsaDeviceData_t          *oneDeviceData
2137*4e1bc9a0SAchim Leubner                         );
2138*4e1bc9a0SAchim Leubner 
2139*4e1bc9a0SAchim Leubner GLOBAL void  satFreeIntIoResource(
2140*4e1bc9a0SAchim Leubner                     tiRoot_t              *tiRoot,
2141*4e1bc9a0SAchim Leubner                     satDeviceData_t       *satDevData,
2142*4e1bc9a0SAchim Leubner                     satInternalIo_t       *satIntIo);
2143*4e1bc9a0SAchim Leubner osGLOBAL void
2144*4e1bc9a0SAchim Leubner tddmDeregisterDevicesInPort(
2145*4e1bc9a0SAchim Leubner                 tiRoot_t             *tiRoot,
2146*4e1bc9a0SAchim Leubner                 tdsaPortContext_t    *onePortContext
2147*4e1bc9a0SAchim Leubner                );
2148*4e1bc9a0SAchim Leubner 
2149*4e1bc9a0SAchim Leubner #ifdef AGTIAPI_CTL
2150*4e1bc9a0SAchim Leubner osGLOBAL void
2151*4e1bc9a0SAchim Leubner tdsaCTLSet(
2152*4e1bc9a0SAchim Leubner            tiRoot_t          *tiRoot,
2153*4e1bc9a0SAchim Leubner            tdsaPortContext_t *onePortContext,
2154*4e1bc9a0SAchim Leubner            tiIntrEventType_t eventType,
2155*4e1bc9a0SAchim Leubner            bit32             eventStatus);
2156*4e1bc9a0SAchim Leubner 
2157*4e1bc9a0SAchim Leubner STATIC void
2158*4e1bc9a0SAchim Leubner tdsaCTLNextDevice(
2159*4e1bc9a0SAchim Leubner                   tiRoot_t          *tiRoot,
2160*4e1bc9a0SAchim Leubner                   tdsaPortContext_t *onePortContext,
2161*4e1bc9a0SAchim Leubner                   tdIORequest_t     *tdIORequest,
2162*4e1bc9a0SAchim Leubner                   tdList_t          *DeviceList);
2163*4e1bc9a0SAchim Leubner 
2164*4e1bc9a0SAchim Leubner STATIC int
2165*4e1bc9a0SAchim Leubner tdsaCTLModeSelect(
2166*4e1bc9a0SAchim Leubner                   tiRoot_t                  *tiRoot,
2167*4e1bc9a0SAchim Leubner                   tiDeviceHandle_t          *tiDeviceHandle,
2168*4e1bc9a0SAchim Leubner                   tdIORequest_t             *tdIORequest);
2169*4e1bc9a0SAchim Leubner 
2170*4e1bc9a0SAchim Leubner STATIC void
2171*4e1bc9a0SAchim Leubner tdsaCTLIOCompleted(
2172*4e1bc9a0SAchim Leubner                    agsaRoot_t      *agRoot,
2173*4e1bc9a0SAchim Leubner                    agsaIORequest_t *agIORequest,
2174*4e1bc9a0SAchim Leubner                    bit32           agIOStatus,
2175*4e1bc9a0SAchim Leubner                    bit32           agIOInfoLen,
2176*4e1bc9a0SAchim Leubner                    void            *agParam,
2177*4e1bc9a0SAchim Leubner                    bit16           sspTag,
2178*4e1bc9a0SAchim Leubner                    bit32           agOtherInfo);
2179*4e1bc9a0SAchim Leubner #endif /* AGTIAPI_CTL */
2180*4e1bc9a0SAchim Leubner 
2181*4e1bc9a0SAchim Leubner #endif /* TD_DISCOVER */
2182*4e1bc9a0SAchim Leubner #endif /* INITIATOR_DRIVER */
2183*4e1bc9a0SAchim Leubner 
2184*4e1bc9a0SAchim Leubner #ifdef FDS_DM
2185*4e1bc9a0SAchim Leubner /**********		For DM		*******/
2186*4e1bc9a0SAchim Leubner osGLOBAL tdsaDeviceData_t *
2187*4e1bc9a0SAchim Leubner tddmPortDeviceAdd(
2188*4e1bc9a0SAchim Leubner                      tiRoot_t            *tiRoot,
2189*4e1bc9a0SAchim Leubner                      tdsaPortContext_t   *onePortContext,
2190*4e1bc9a0SAchim Leubner                      dmDeviceInfo_t      *dmDeviceInfo,
2191*4e1bc9a0SAchim Leubner                      tdsaDeviceData_t    *oneExpDeviceData
2192*4e1bc9a0SAchim Leubner                      );
2193*4e1bc9a0SAchim Leubner 
2194*4e1bc9a0SAchim Leubner osGLOBAL void
2195*4e1bc9a0SAchim Leubner tddmInvalidateDevicesInPort(
2196*4e1bc9a0SAchim Leubner                 tiRoot_t             *tiRoot,
2197*4e1bc9a0SAchim Leubner                 tdsaPortContext_t    *onePortContext
2198*4e1bc9a0SAchim Leubner                );
2199*4e1bc9a0SAchim Leubner 
2200*4e1bc9a0SAchim Leubner osGLOBAL bit32
2201*4e1bc9a0SAchim Leubner tddmNewSASorNot(
2202*4e1bc9a0SAchim Leubner                                  tiRoot_t             *tiRoot,
2203*4e1bc9a0SAchim Leubner                                  tdsaPortContext_t    *onePortContext,
2204*4e1bc9a0SAchim Leubner                                  tdsaSASSubID_t       *agSASSubID
2205*4e1bc9a0SAchim Leubner                                  );
2206*4e1bc9a0SAchim Leubner 
2207*4e1bc9a0SAchim Leubner osGLOBAL tdsaDeviceData_t *
2208*4e1bc9a0SAchim Leubner tddmPortSASDeviceFind(
2209*4e1bc9a0SAchim Leubner                       tiRoot_t           *tiRoot,
2210*4e1bc9a0SAchim Leubner                       tdsaPortContext_t  *onePortContext,
2211*4e1bc9a0SAchim Leubner                       bit32              sasAddrLo,
2212*4e1bc9a0SAchim Leubner                       bit32              sasAddrHi
2213*4e1bc9a0SAchim Leubner                       );
2214*4e1bc9a0SAchim Leubner 
2215*4e1bc9a0SAchim Leubner osGLOBAL tdsaDeviceData_t *
2216*4e1bc9a0SAchim Leubner tddmAddToSharedcontext(
2217*4e1bc9a0SAchim Leubner                        agsaRoot_t           *agRoot,
2218*4e1bc9a0SAchim Leubner                        tdsaPortContext_t    *onePortContext,
2219*4e1bc9a0SAchim Leubner                        tdsaSASSubID_t       *agSASSubID,
2220*4e1bc9a0SAchim Leubner                        tdsaDeviceData_t     *oneExpDeviceData,
2221*4e1bc9a0SAchim Leubner                        bit8                 phyID
2222*4e1bc9a0SAchim Leubner                       );
2223*4e1bc9a0SAchim Leubner 
2224*4e1bc9a0SAchim Leubner osGLOBAL void
2225*4e1bc9a0SAchim Leubner tdsaUpdateMCN(
2226*4e1bc9a0SAchim Leubner               dmRoot_t 	           *dmRoot,
2227*4e1bc9a0SAchim Leubner               tdsaPortContext_t    *onePortContext
2228*4e1bc9a0SAchim Leubner              );
2229*4e1bc9a0SAchim Leubner #endif
2230*4e1bc9a0SAchim Leubner 
2231*4e1bc9a0SAchim Leubner GLOBAL void
2232*4e1bc9a0SAchim Leubner tdsaSingleThreadedEnter(tiRoot_t *ptiRoot, bit32 queueId);
2233*4e1bc9a0SAchim Leubner 
2234*4e1bc9a0SAchim Leubner GLOBAL void
2235*4e1bc9a0SAchim Leubner tdsaSingleThreadedLeave(tiRoot_t *ptiRoot, bit32 queueId);
2236*4e1bc9a0SAchim Leubner 
2237*4e1bc9a0SAchim Leubner #ifdef PERF_COUNT
2238*4e1bc9a0SAchim Leubner GLOBAL void
2239*4e1bc9a0SAchim Leubner tdsaEnter(tiRoot_t *ptiRoot, int io);
2240*4e1bc9a0SAchim Leubner 
2241*4e1bc9a0SAchim Leubner GLOBAL void
2242*4e1bc9a0SAchim Leubner tdsaLeave(tiRoot_t *ptiRoot, int io);
2243*4e1bc9a0SAchim Leubner 
2244*4e1bc9a0SAchim Leubner #define TDSA_INP_ENTER(root) tdsaEnter(root, 0)
2245*4e1bc9a0SAchim Leubner #define TDSA_INP_LEAVE(root) tdsaLeave(root, 0)
2246*4e1bc9a0SAchim Leubner #define TDSA_OUT_ENTER(root) tdsaEnter(root, 1)
2247*4e1bc9a0SAchim Leubner #define TDSA_OUT_LEAVE(root) tdsaLeave(root, 1)
2248*4e1bc9a0SAchim Leubner #else
2249*4e1bc9a0SAchim Leubner #define TDSA_INP_ENTER(root)
2250*4e1bc9a0SAchim Leubner #define TDSA_INP_LEAVE(root)
2251*4e1bc9a0SAchim Leubner #define TDSA_OUT_ENTER(root)
2252*4e1bc9a0SAchim Leubner #define TDSA_OUT_LEAVE(root)
2253*4e1bc9a0SAchim Leubner #endif
2254*4e1bc9a0SAchim Leubner 
2255*4e1bc9a0SAchim Leubner #if defined(FDS_DM) && defined(FDS_SM)
2256*4e1bc9a0SAchim Leubner GLOBAL void
2257*4e1bc9a0SAchim Leubner tdIDStart(
2258*4e1bc9a0SAchim Leubner            tiRoot_t             *tiRoot,
2259*4e1bc9a0SAchim Leubner            agsaRoot_t           *agRoot,
2260*4e1bc9a0SAchim Leubner            smRoot_t             *smRoot,
2261*4e1bc9a0SAchim Leubner            tdsaDeviceData_t     *oneDeviceData,
2262*4e1bc9a0SAchim Leubner            tdsaPortContext_t    *onePortContext
2263*4e1bc9a0SAchim Leubner           );
2264*4e1bc9a0SAchim Leubner #endif
2265*4e1bc9a0SAchim Leubner 
2266*4e1bc9a0SAchim Leubner void t_MacroCheck(  agsaRoot_t       *agRoot);
2267*4e1bc9a0SAchim Leubner 
2268*4e1bc9a0SAchim Leubner #endif                          /* __TDPROTO_H__ */
2269