13cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati/****************************************************************************** 23cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 33cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * Copyright (C) 2014 Google, Inc. 43cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 53cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * Licensed under the Apache License, Version 2.0 (the "License"); 63cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * you may not use this file except in compliance with the License. 73cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * You may obtain a copy of the License at: 83cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 93cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * http://www.apache.org/licenses/LICENSE-2.0 103cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 113cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * Unless required by applicable law or agreed to in writing, software 123cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * distributed under the License is distributed on an "AS IS" BASIS, 133cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 143cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * See the License for the specific language governing permissions and 153cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * limitations under the License. 163cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 173cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati ******************************************************************************/ 183cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 193cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#pragma once 203cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 213cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#include <stdio.h> 223cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#include <stdbool.h> 233cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#include <string.h> 243cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 253cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#include <hardware/bluetooth.h> 263cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#include <hardware/bt_pan.h> 273cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#include <hardware/hardware.h> 283cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 293cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#ifndef ARRAY_SIZE 303cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati# define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 313cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#endif 323cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 333cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#define TASSERT(c, ...) if (!(c)) { fprintf(stderr, "%s:%d: ", __func__, __LINE__); fprintf(stderr, __VA_ARGS__); fprintf(stderr, "\n"); return false; } 343cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 353cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavatiextern const bt_interface_t *bt_interface; 363cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavatiextern bt_bdaddr_t bt_remote_bdaddr; 37