utl.h revision 5738f83aeb59361a0a2eda2460113f6dc9194271
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() **/ 44typedef struct 45{ 46 UINT8 minor; 47 UINT8 major; 48 UINT16 service; 49} tBTA_UTL_COD; 50 51 52#ifdef __cplusplus 53extern "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*******************************************************************************/ 73extern 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*******************************************************************************/ 88extern 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*******************************************************************************/ 102extern 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*******************************************************************************/ 116extern 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*******************************************************************************/ 137extern 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*******************************************************************************/ 150extern 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*******************************************************************************/ 163extern BOOLEAN utl_isdialstr(const char *p_s); 164 165#ifdef __cplusplus 166} 167#endif 168 169#endif /* UTL_H */ 170