summaryrefslogtreecommitdiffstats
path: root/sys/dev/pms/RefTisa/tisa/sassata/common/tdutil.h
blob: 6cba0fae6b8a3e153c036a628af6edcf973dd3a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*******************************************************************************
*Copyright (c) 2014 PMC-Sierra, Inc.  All rights reserved. 
*
*Redistribution and use in source and binary forms, with or without modification, are permitted provided 
*that the following conditions are met: 
*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
*following disclaimer. 
*2. Redistributions in binary form must reproduce the above copyright notice, 
*this list of conditions and the following disclaimer in the documentation and/or other materials provided
*with the distribution. 
*
*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 
*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
*
* $FreeBSD$
*
********************************************************************************/
/*******************************************************************************/
/** \file
 *
 * The file defines utilities for SAS/SATA TD layer
 *
 */

#ifndef __TDUTIL_H__
#define __TDUTIL_H__

#include <dev/pms/RefTisa/sallsdk/api/sa.h>
#include <dev/pms/RefTisa/tisa/api/tidefs.h>
#include <dev/pms/RefTisa/tisa/api/titypes.h>
#include <dev/pms/RefTisa/tisa/api/tiapi.h>
#include <dev/pms/RefTisa/tisa/sassata/common/tdlist.h>


#define HEXDIGIT2CHAR(x)     (((x) < 10) ? ('0' + (x)) : ('A' + ((x) - 10)))
/*****************************************************************************
*! \brief tdDecimal2String
*
*  Purpose:  This function converts a given number into a decimal string.
*            
*  \param s:                  string to be generated
*  \param num:                number to be converted
*
*  \return None
*
*  \note - string s should be large enough to store decimal string of
*        num and a '\0' character
*
*****************************************************************************/
void 
tdDecimal2String(
  char *s, 
  bit32 num
  );

void
tdHexToString (
  char  *String,
  bit32  Value1,
  bit32  Value2,
  bit32  Strlength
  );

bit8 tdStr2Bit8 (char *buffer);

bit32 tdStr2ALPA (char *buffer);

void tdStr2WWN (char *buffer, bit8 * NodeName);

void tdWWN2Str (char *buffer, bit8 * NodeName);

/*****************************************************************************
*! \brief tdNextPowerOf2
*
*  Purpose:  This function is called to calculate the next power of 2
*            value of given value.
*            
*
*  \param  Value:             The value for which next power of 2 is requested
*
*  \return: The next power of 2 value of given Value
*
*****************************************************************************/
bit32 
tdNextPowerOf2 (
  bit32 Value
  );

osGLOBAL agBOOLEAN
tdListElementOnList(
    tdList_t *toFindHdr,
    tdList_t *listHdr
    );


#endif /* __TDUTIL_H__ */



OpenPOWER on IntegriCloud