Home | History | Annotate | Download | only in include
      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