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 "bt_types.h" 28#include "bt_utils.h" 29 30/***************************************************************************** 31** Constants 32*****************************************************************************/ 33/*** class of device settings ***/ 34#define BTA_UTL_SET_COD_MAJOR_MINOR 0x01 35#define BTA_UTL_SET_COD_SERVICE_CLASS 0x02 /* only set the bits in the input */ 36#define BTA_UTL_CLR_COD_SERVICE_CLASS 0x04 37#define BTA_UTL_SET_COD_ALL 0x08 /* take service class as the input (may clear some set bits!!) */ 38#define BTA_UTL_INIT_COD 0x0a 39 40/***************************************************************************** 41** Type Definitions 42*****************************************************************************/ 43 44/** for utl_set_device_class() **/ 45typedef struct 46{ 47 UINT8 minor; 48 UINT8 major; 49 UINT16 service; 50} tBTA_UTL_COD; 51 52 53#ifdef __cplusplus 54extern "C" 55{ 56#endif 57 58/***************************************************************************** 59** External Function Declarations 60*****************************************************************************/ 61 62/******************************************************************************* 63** 64** Function utl_str2int 65** 66** Description This utility function converts a character string to an 67** integer. Acceptable values in string are 0-9. If invalid 68** string or string value too large, -1 is returned. 69** 70** 71** Returns Integer value or -1 on error. 72** 73*******************************************************************************/ 74extern INT16 utl_str2int(const char *p_s); 75 76/******************************************************************************* 77** 78** Function utl_strucmp 79** 80** Description This utility function compares two strings in uppercase. 81** String p_s must be uppercase. String p_t is converted to 82** uppercase if lowercase. If p_s ends first, the substring 83** match is counted as a match. 84** 85** 86** Returns 0 if strings match, nonzero otherwise. 87** 88*******************************************************************************/ 89extern int utl_strucmp(const char *p_s, const char *p_t); 90 91/******************************************************************************* 92** 93** Function utl_itoa 94** 95** Description This utility function converts a UINT16 to a string. The 96** string is NULL-terminated. The length of the string is 97** returned. 98** 99** 100** Returns Length of string. 101** 102*******************************************************************************/ 103extern UINT8 utl_itoa(UINT16 i, char *p_s); 104 105/******************************************************************************* 106** 107** Function utl_set_device_class 108** 109** Description This function updates the local Device Class. 110** 111** Parameters: 112** p_cod - Pointer to the device class to set to 113** 114** cmd - the fields of the device class to update. 115** BTA_UTL_SET_COD_MAJOR_MINOR, - overwrite major, minor class 116** BTA_UTL_SET_COD_SERVICE_CLASS - set the bits in the input 117** BTA_UTL_CLR_COD_SERVICE_CLASS - clear the bits in the input 118** BTA_UTL_SET_COD_ALL - overwrite major, minor, set the bits in service class 119** BTA_UTL_INIT_COD - overwrite major, minor, and service class 120** 121** Returns TRUE if successful, Otherwise FALSE 122** 123*******************************************************************************/ 124extern BOOLEAN utl_set_device_class(tBTA_UTL_COD *p_cod, UINT8 cmd); 125 126/******************************************************************************* 127** 128** Function utl_isintstr 129** 130** Description This utility function checks if the given string is an 131** integer string or not 132** 133** 134** Returns TRUE if successful, Otherwise FALSE 135** 136*******************************************************************************/ 137extern BOOLEAN utl_isintstr(const char *p_s); 138 139/******************************************************************************* 140** 141** Function utl_isdialstr 142** 143** Description This utility function checks if the given string contains 144** only dial digits or not 145** 146** 147** Returns TRUE if successful, Otherwise FALSE 148** 149*******************************************************************************/ 150extern BOOLEAN utl_isdialstr(const char *p_s); 151 152#ifdef __cplusplus 153} 154#endif 155 156#endif /* UTL_H */ 157