• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  *  Copyright (C) 2003-2012 Broadcom Corporation
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at:
8  *
9  *  http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  ******************************************************************************/
18 
19 /******************************************************************************
20  *
21  *  Basic utility functions.
22  *
23  ******************************************************************************/
24 #ifndef UTL_H
25 #define UTL_H
26 
27 #include "data_types.h"
28 
29 /*****************************************************************************
30 **  Constants
31 *****************************************************************************/
32 /*** class of device settings ***/
33 #define BTA_UTL_SET_COD_MAJOR_MINOR     0x01
34 #define BTA_UTL_SET_COD_SERVICE_CLASS   0x02 /* only set the bits in the input */
35 #define BTA_UTL_CLR_COD_SERVICE_CLASS   0x04
36 #define BTA_UTL_SET_COD_ALL             0x08 /* take service class as the input (may clear some set bits!!) */
37 #define BTA_UTL_INIT_COD                0x0a
38 
39 /*****************************************************************************
40 **  Type Definitions
41 *****************************************************************************/
42 
43 /** for utl_set_device_class() **/
44 typedef struct
45 {
46     UINT8       minor;
47     UINT8       major;
48     UINT16      service;
49 } tBTA_UTL_COD;
50 
51 
52 #ifdef __cplusplus
53 extern "C"
54 {
55 #endif
56 
57 /*****************************************************************************
58 **  External Function Declarations
59 *****************************************************************************/
60 
61 /*******************************************************************************
62 **
63 ** Function         utl_str2int
64 **
65 ** Description      This utility function converts a character string to an
66 **                  integer.  Acceptable values in string are 0-9.  If invalid
67 **                  string or string value too large, -1 is returned.
68 **
69 **
70 ** Returns          Integer value or -1 on error.
71 **
72 *******************************************************************************/
73 extern INT16 utl_str2int(const char *p_s);
74 
75 /*******************************************************************************
76 **
77 ** Function         utl_strucmp
78 **
79 ** Description      This utility function compares two strings in uppercase.
80 **                  String p_s must be uppercase.  String p_t is converted to
81 **                  uppercase if lowercase.  If p_s ends first, the substring
82 **                  match is counted as a match.
83 **
84 **
85 ** Returns          0 if strings match, nonzero otherwise.
86 **
87 *******************************************************************************/
88 extern int utl_strucmp(const char *p_s, const char *p_t);
89 
90 /*******************************************************************************
91 **
92 ** Function         utl_itoa
93 **
94 ** Description      This utility function converts a UINT16 to a string.  The
95 **                  string is NULL-terminated.  The length of the string is
96 **                  returned.
97 **
98 **
99 ** Returns          Length of string.
100 **
101 *******************************************************************************/
102 extern UINT8 utl_itoa(UINT16 i, char *p_s);
103 
104 /*******************************************************************************
105 **
106 ** Function         utl_freebuf
107 **
108 ** Description      This function calls GKI_freebuf to free the buffer passed
109 **                  in, if buffer pointer is not NULL, and also initializes
110 **                  buffer pointer to NULL.
111 **
112 **
113 ** Returns          Nothing.
114 **
115 *******************************************************************************/
116 extern void utl_freebuf(void **p);
117 
118 /*******************************************************************************
119 **
120 ** Function         utl_set_device_class
121 **
122 ** Description      This function updates the local Device Class.
123 **
124 ** Parameters:
125 **                  p_cod   - Pointer to the device class to set to
126 **
127 **                  cmd     - the fields of the device class to update.
128 **                            BTA_UTL_SET_COD_MAJOR_MINOR, - overwrite major, minor class
129 **                            BTA_UTL_SET_COD_SERVICE_CLASS - set the bits in the input
130 **                            BTA_UTL_CLR_COD_SERVICE_CLASS - clear the bits in the input
131 **                            BTA_UTL_SET_COD_ALL - overwrite major, minor, set the bits in service class
132 **                            BTA_UTL_INIT_COD - overwrite major, minor, and service class
133 **
134 ** Returns          TRUE if successful, Otherwise FALSE
135 **
136 *******************************************************************************/
137 extern BOOLEAN utl_set_device_class(tBTA_UTL_COD *p_cod, UINT8 cmd);
138 
139 /*******************************************************************************
140 **
141 ** Function         utl_isintstr
142 **
143 ** Description      This utility function checks if the given string is an
144 **                  integer string or not
145 **
146 **
147 ** Returns          TRUE if successful, Otherwise FALSE
148 **
149 *******************************************************************************/
150 extern BOOLEAN utl_isintstr(const char *p_s);
151 
152 /*******************************************************************************
153 **
154 ** Function         utl_isdialstr
155 **
156 ** Description      This utility function checks if the given string contains
157 **                  only dial digits or not
158 **
159 **
160 ** Returns          TRUE if successful, Otherwise FALSE
161 **
162 *******************************************************************************/
163 extern BOOLEAN utl_isdialstr(const char *p_s);
164 
165 #ifdef __cplusplus
166 }
167 #endif
168 
169 #endif /* UTL_H */
170