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 * BD address services. 22 * 23 ******************************************************************************/ 24 25#include "data_types.h" 26#include "bd.h" 27 28/***************************************************************************** 29** Constants 30*****************************************************************************/ 31 32/* global constant for "any" bd addr */ 33const BD_ADDR bd_addr_any = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; 34const BD_ADDR bd_addr_null= {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 35 36/***************************************************************************** 37** Functions 38*****************************************************************************/ 39 40/******************************************************************************* 41** 42** Function bdcpy 43** 44** Description Copy bd addr b to a. 45** 46** 47** Returns void 48** 49*******************************************************************************/ 50void bdcpy(BD_ADDR a, const BD_ADDR b) 51{ 52 int i; 53 54 for (i = BD_ADDR_LEN; i != 0; i--) 55 { 56 *a++ = *b++; 57 } 58} 59 60/******************************************************************************* 61** 62** Function bdcmp 63** 64** Description Compare bd addr b to a. 65** 66** 67** Returns Zero if b==a, nonzero otherwise (like memcmp). 68** 69*******************************************************************************/ 70int bdcmp(const BD_ADDR a, const BD_ADDR b) 71{ 72 int i; 73 74 for (i = BD_ADDR_LEN; i != 0; i--) 75 { 76 if (*a++ != *b++) 77 { 78 return -1; 79 } 80 } 81 return 0; 82} 83 84/******************************************************************************* 85** 86** Function bdcmpany 87** 88** Description Compare bd addr to "any" bd addr. 89** 90** 91** Returns Zero if a equals bd_addr_any. 92** 93*******************************************************************************/ 94int bdcmpany(const BD_ADDR a) 95{ 96 return bdcmp(a, bd_addr_any); 97} 98 99/******************************************************************************* 100** 101** Function bdsetany 102** 103** Description Set bd addr to "any" bd addr. 104** 105** 106** Returns void 107** 108*******************************************************************************/ 109void bdsetany(BD_ADDR a) 110{ 111 bdcpy(a, bd_addr_any); 112} 113